Submission #2387287


Source Code Expand

#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;

struct edge {
	int to, cap, rev;
};

vector<edge>G[7777]; bool used[7777];

void add_edge(int p1, int p2, int p3) {
	G[p1].push_back(edge{ p2,p3,(int)G[p2].size() });
	G[p2].push_back(edge{ p1,0,(int)G[p1].size() - 1 });
}
int dfs(int pos, int to, int cap) {
	if (pos == to) return cap;
	used[pos] = true;
	for (int i = 0; i < G[pos].size(); i++) {
		if (used[G[pos][i].to] == true || G[pos][i].cap == 0) continue;
		int V = dfs(G[pos][i].to, to, min(cap, G[pos][i].cap));
		if (V == 0) continue;
		G[pos][i].cap -= V;
		G[G[pos][i].to][G[pos][i].rev].cap += V;
		return V;
	}
	return 0;
}
int max_flow(int u, int v) {
	int fl = 0;
	while (true) {
		for (int i = 0; i < 7777; i++) used[i] = false;
		int C = dfs(u, v, 1000000007);
		if (C == 0) break;
		fl += C;
	}
	return fl;
}

int H, W, a[77][77], b[77][77], l[77][77], cost;

int main() {
	cin >> H >> W;
	for (int i = 1; i <= H; i++) {
		for (int j = 1; j <= W; j++) { cin >> a[i][j]; l[i][j] = (i - 1)*W + (j - 1); }
	}
	for (int i = 1; i <= H; i++) {
		for (int j = 1; j <= W; j++) {
			cin >> b[i][j];
			if (a[i][j] != b[i][j]) cost++;
		}
	}
	for (int i = 1; i <= H; i++) {
		for (int j = 1; j <= W; j++) {
			if (i <= H - 1 && a[i][j] != b[i][j] && a[i + 1][j] != b[i + 1][j] && a[i][j] != a[i + 1][j]) add_edge(l[i][j], l[i + 1][j], 1);
			if (j <= W - 1 && a[i][j] != b[i][j] && a[i][j + 1] != b[i][j + 1] && a[i][j] != a[i][j + 1]) add_edge(l[i][j], l[i][j + 1], 1);
			if ((i + j) % 2 == 0) add_edge(H*W, l[i][j], 1);
			if ((i + j) % 2 == 1) add_edge(l[i][j], H*W + 1, 1);
		}
	}
	int GG = max_flow(H*W, H*W + 1);
	cout << cost - GG << endl;
	return 0;
}

Submission Info

Submission Time
Task C - 天下一美術館
User E869120
Language C++14 (GCC 5.4.1)
Score 0
Code Size 1765 Byte
Status WA
Exec Time 90 ms
Memory 1280 KB

Judge Result

Set Name small All
Score / Max Score 0 / 40 0 / 50
Status
AC × 10
WA × 57
AC × 14
WA × 106
Set Name Test Cases
small 00_manual03.txt, 00_manual04.txt, 00_manual05.txt, 00_manual06.txt, 00_manual07.txt, 00_sample00.txt, 00_sample01.txt, 00_sample02.txt, 00_small100.txt, 00_small101.txt, 00_small102.txt, 00_small103.txt, 00_small104.txt, 00_small105.txt, 00_small106.txt, 00_small107.txt, 00_small108.txt, 00_small109.txt, 00_small110.txt, 00_small111.txt, 00_small112.txt, 00_small113.txt, 00_small114.txt, 00_small115.txt, 00_small116.txt, 00_small117.txt, 00_small118.txt, 00_small119.txt, 00_small120.txt, 00_small121.txt, 00_small122.txt, 00_small123.txt, 00_small124.txt, 00_small125.txt, 00_small126.txt, 00_small127.txt, 00_small128.txt, 00_small129.txt, 00_small130.txt, 00_small131.txt, 00_small132.txt, 00_small133.txt, 00_small134.txt, 00_small135.txt, 00_small136.txt, 00_small137.txt, 00_small138.txt, 00_small139.txt, 00_small140.txt, 00_small141.txt, 00_small142.txt, 00_small143.txt, 00_small144.txt, 00_small145.txt, 00_small146.txt, 00_small147.txt, 00_small148.txt, 00_small149.txt, 00_small150.txt, 00_small151.txt, 00_small152.txt, 00_small153.txt, 00_small154.txt, 00_small155.txt, 00_small156.txt, 00_small157.txt, 00_small158.txt
All 00_manual03.txt, 00_manual04.txt, 00_manual05.txt, 00_manual06.txt, 00_manual07.txt, 00_sample00.txt, 00_sample01.txt, 00_sample02.txt, 00_small100.txt, 00_small101.txt, 00_small102.txt, 00_small103.txt, 00_small104.txt, 00_small105.txt, 00_small106.txt, 00_small107.txt, 00_small108.txt, 00_small109.txt, 00_small110.txt, 00_small111.txt, 00_small112.txt, 00_small113.txt, 00_small114.txt, 00_small115.txt, 00_small116.txt, 00_small117.txt, 00_small118.txt, 00_small119.txt, 00_small120.txt, 00_small121.txt, 00_small122.txt, 00_small123.txt, 00_small124.txt, 00_small125.txt, 00_small126.txt, 00_small127.txt, 00_small128.txt, 00_small129.txt, 00_small130.txt, 00_small131.txt, 00_small132.txt, 00_small133.txt, 00_small134.txt, 00_small135.txt, 00_small136.txt, 00_small137.txt, 00_small138.txt, 00_small139.txt, 00_small140.txt, 00_small141.txt, 00_small142.txt, 00_small143.txt, 00_small144.txt, 00_small145.txt, 00_small146.txt, 00_small147.txt, 00_small148.txt, 00_small149.txt, 00_small150.txt, 00_small151.txt, 00_small152.txt, 00_small153.txt, 00_small154.txt, 00_small155.txt, 00_small156.txt, 00_small157.txt, 00_small158.txt, 01_large100.txt, 01_large101.txt, 01_large102.txt, 01_large103.txt, 01_large104.txt, 01_large105.txt, 01_large106.txt, 01_large107.txt, 01_large108.txt, 01_large1325.txt, 01_large1327.txt, 01_large1330.txt, 01_large1339.txt, 01_large1343.txt, 01_large1355.txt, 01_large1366.txt, 01_large1367.txt, 01_large1374.txt, 01_large1380.txt, 01_large1388.txt, 01_large1395.txt, 01_large1396.txt, 01_large1400.txt, 01_large1402.txt, 01_large1405.txt, 01_large1409.txt, 01_large1413.txt, 01_large1417.txt, 01_large1423.txt, 01_large1430.txt, 01_large1437.txt, 01_large1438.txt, 01_large1442.txt, 01_large1450.txt, 01_large1459.txt, 01_large1464.txt, 01_large1472.txt, 01_large1478.txt, 01_large1480.txt, 01_large1486.txt, 01_large1492.txt, 01_large1500.txt, 01_large1501.txt, 01_large1502.txt, 01_large1506.txt, 01_large157.txt, 01_large207.txt, 01_large507.txt, 01_large577.txt, 01_large591.txt, 01_large893.txt, 01_manual_L00.txt, 01_manual_L01.txt
Case Name Status Exec Time Memory
00_manual03.txt WA 1 ms 512 KB
00_manual04.txt WA 1 ms 512 KB
00_manual05.txt WA 1 ms 512 KB
00_manual06.txt AC 1 ms 384 KB
00_manual07.txt AC 1 ms 512 KB
00_sample00.txt WA 1 ms 384 KB
00_sample01.txt WA 1 ms 512 KB
00_sample02.txt AC 1 ms 512 KB
00_small100.txt AC 1 ms 384 KB
00_small101.txt AC 1 ms 512 KB
00_small102.txt AC 1 ms 512 KB
00_small103.txt AC 1 ms 512 KB
00_small104.txt AC 1 ms 384 KB
00_small105.txt AC 1 ms 512 KB
00_small106.txt AC 1 ms 384 KB
00_small107.txt WA 1 ms 512 KB
00_small108.txt WA 1 ms 512 KB
00_small109.txt WA 1 ms 512 KB
00_small110.txt WA 1 ms 512 KB
00_small111.txt WA 1 ms 512 KB
00_small112.txt WA 1 ms 512 KB
00_small113.txt WA 1 ms 512 KB
00_small114.txt WA 1 ms 512 KB
00_small115.txt WA 1 ms 512 KB
00_small116.txt WA 1 ms 512 KB
00_small117.txt WA 1 ms 512 KB
00_small118.txt WA 1 ms 512 KB
00_small119.txt WA 1 ms 512 KB
00_small120.txt WA 1 ms 512 KB
00_small121.txt WA 1 ms 512 KB
00_small122.txt WA 1 ms 512 KB
00_small123.txt WA 1 ms 512 KB
00_small124.txt WA 1 ms 512 KB
00_small125.txt WA 1 ms 512 KB
00_small126.txt WA 1 ms 512 KB
00_small127.txt WA 2 ms 512 KB
00_small128.txt WA 1 ms 512 KB
00_small129.txt WA 1 ms 512 KB
00_small130.txt WA 1 ms 512 KB
00_small131.txt WA 1 ms 512 KB
00_small132.txt WA 1 ms 512 KB
00_small133.txt WA 1 ms 512 KB
00_small134.txt WA 1 ms 512 KB
00_small135.txt WA 1 ms 512 KB
00_small136.txt WA 1 ms 512 KB
00_small137.txt WA 1 ms 512 KB
00_small138.txt WA 1 ms 512 KB
00_small139.txt WA 1 ms 512 KB
00_small140.txt WA 1 ms 512 KB
00_small141.txt WA 1 ms 512 KB
00_small142.txt WA 1 ms 512 KB
00_small143.txt WA 1 ms 512 KB
00_small144.txt WA 1 ms 512 KB
00_small145.txt WA 1 ms 512 KB
00_small146.txt WA 1 ms 512 KB
00_small147.txt WA 1 ms 512 KB
00_small148.txt WA 1 ms 512 KB
00_small149.txt WA 1 ms 512 KB
00_small150.txt WA 1 ms 512 KB
00_small151.txt WA 1 ms 512 KB
00_small152.txt WA 1 ms 512 KB
00_small153.txt WA 1 ms 512 KB
00_small154.txt WA 1 ms 512 KB
00_small155.txt WA 1 ms 512 KB
00_small156.txt WA 1 ms 512 KB
00_small157.txt WA 1 ms 512 KB
00_small158.txt WA 1 ms 512 KB
01_large100.txt AC 1 ms 512 KB
01_large101.txt WA 2 ms 512 KB
01_large102.txt WA 1 ms 512 KB
01_large103.txt WA 2 ms 512 KB
01_large104.txt WA 2 ms 512 KB
01_large105.txt WA 4 ms 512 KB
01_large106.txt WA 1 ms 512 KB
01_large107.txt AC 1 ms 512 KB
01_large108.txt WA 30 ms 1280 KB
01_large1325.txt WA 44 ms 896 KB
01_large1327.txt WA 33 ms 1152 KB
01_large1330.txt WA 31 ms 1152 KB
01_large1339.txt WA 43 ms 896 KB
01_large1343.txt WA 39 ms 1152 KB
01_large1355.txt WA 39 ms 1152 KB
01_large1366.txt WA 54 ms 896 KB
01_large1367.txt WA 41 ms 896 KB
01_large1374.txt WA 51 ms 896 KB
01_large1380.txt WA 49 ms 896 KB
01_large1388.txt WA 59 ms 896 KB
01_large1395.txt WA 56 ms 896 KB
01_large1396.txt WA 36 ms 1152 KB
01_large1400.txt WA 30 ms 1280 KB
01_large1402.txt WA 54 ms 896 KB
01_large1405.txt WA 35 ms 896 KB
01_large1409.txt WA 47 ms 1024 KB
01_large1413.txt WA 35 ms 1152 KB
01_large1417.txt WA 47 ms 1024 KB
01_large1423.txt WA 43 ms 896 KB
01_large1430.txt WA 52 ms 896 KB
01_large1437.txt WA 45 ms 896 KB
01_large1438.txt WA 34 ms 1152 KB
01_large1442.txt WA 31 ms 1152 KB
01_large1450.txt WA 62 ms 896 KB
01_large1459.txt WA 56 ms 1024 KB
01_large1464.txt WA 55 ms 896 KB
01_large1472.txt WA 57 ms 896 KB
01_large1478.txt WA 51 ms 896 KB
01_large1480.txt WA 37 ms 1152 KB
01_large1486.txt WA 56 ms 896 KB
01_large1492.txt WA 48 ms 896 KB
01_large1500.txt WA 55 ms 896 KB
01_large1501.txt WA 48 ms 1024 KB
01_large1502.txt WA 30 ms 896 KB
01_large1506.txt WA 48 ms 896 KB
01_large157.txt WA 50 ms 1024 KB
01_large207.txt WA 38 ms 1152 KB
01_large507.txt WA 87 ms 1024 KB
01_large577.txt WA 90 ms 1024 KB
01_large591.txt WA 73 ms 1024 KB
01_large893.txt WA 40 ms 1152 KB
01_manual_L00.txt AC 4 ms 768 KB
01_manual_L01.txt AC 3 ms 768 KB