Submission #3265142
Source Code Expand
#include <bits/stdc++.h> using namespace std; typedef long long unsigned int ll; #define EPS (1e-7) #define INF (1e9) #define PI (acos(-1)) struct max_flow { struct edge { int to, cap, rev; }; int V; vector<vector<edge>> G; vector<int> itr, level; max_flow(int V) : V(V) { G.assign(V,vector<edge>()); } void add_edge(int from, int to, int cap) { G[from].push_back((edge) {to, cap, (int) G[to].size()}); G[to].push_back((edge) {from, 0, (int) G[from].size()-1}); } void bfs(int s) { level.assign(V,-1); queue<int> q; level[s] = 0; q.push(s); while (!q.empty()) { int v = q.front(); q.pop(); for(auto &e: G[v]){ if (e.cap > 0 and level[e.to] < 0) { level[e.to] = level[v] + 1; q.push(e.to); } } } } int dfs(int v, int t, int f) { if (v == t) return f; for (int& i = itr[v]; i < (int) G[v].size(); ++i) { edge& e = G[v][i]; if (e.cap > 0 and level[v] < level[e.to]) { int d = dfs(e.to, t, min(f, e.cap)); if (d > 0) { e.cap -= d; G[e.to][e.rev].cap += d; return d; } } } return 0; } int run(int s, int t) { int ret = 0, f; while (bfs(s), level[t] >= 0) { itr.assign(V,0); while ((f = dfs(s, t, INF)) > 0) ret += f; } return ret; } }; int main() { //cout.precision(10); max_flow graph(5050); int n, m; cin >> m >> n; int a[75][75]; int b[75][75]; for(int i = 1; i <= m; i++){ for(int j = 1; j <= n; j++){ cin >> a[i][j]; } } for(int i = 1; i <= m; i++){ for(int j = 1; j <= n; j++){ cin >> b[i][j]; } } int ans = 0; for(int i = 1; i <= m; i++){ for(int j = 1; j <= n; j++){ if(!((a[i][j] == 1) && (b[i][j] == 0))){ continue; } ans++; graph.add_edge(i * 70 + j, 5040, 1); } } int di[4] = {1, -1, 0, 0}; int dj[4] = {0, 0, 1, -1}; for(int i = 1; i <= m; i++){ for(int j = 1; j <= n; j++){ if(!((a[i][j] == 0) && (b[i][j] == 1))){ continue; } ans++; graph.add_edge(0, i * 70 + j, 1); for(int k = 0; k <= 3; k++){ int newi = i + di[k]; int newj = j + dj[k]; if(newi <= 0){ continue; } if(newj <= 0){ continue; } if(newi > m){ continue; } if(newj > n){ continue; } if((a[newi][newj] == 1) && (b[newi][newj] == 0)){ graph.add_edge(i * 70 + j, newi * 70 + newj, 1); } } } } cout << ans - graph.run(0, 5040) << endl; return 0; }
Submission Info
Submission Time | |
---|---|
Task | C - 天下一美術館 |
User | kort0n |
Language | C++14 (GCC 5.4.1) |
Score | 90 |
Code Size | 3301 Byte |
Status | AC |
Exec Time | 12 ms |
Memory | 1024 KB |
Judge Result
Set Name | small | All | ||||
---|---|---|---|---|---|---|
Score / Max Score | 40 / 40 | 50 / 50 | ||||
Status |
|
|
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 | AC | 1 ms | 384 KB |
00_manual04.txt | AC | 1 ms | 384 KB |
00_manual05.txt | AC | 1 ms | 384 KB |
00_manual06.txt | AC | 1 ms | 384 KB |
00_manual07.txt | AC | 1 ms | 384 KB |
00_sample00.txt | AC | 1 ms | 384 KB |
00_sample01.txt | AC | 1 ms | 384 KB |
00_sample02.txt | AC | 1 ms | 384 KB |
00_small100.txt | AC | 1 ms | 384 KB |
00_small101.txt | AC | 1 ms | 384 KB |
00_small102.txt | AC | 1 ms | 384 KB |
00_small103.txt | AC | 1 ms | 384 KB |
00_small104.txt | AC | 1 ms | 384 KB |
00_small105.txt | AC | 1 ms | 384 KB |
00_small106.txt | AC | 1 ms | 384 KB |
00_small107.txt | AC | 1 ms | 384 KB |
00_small108.txt | AC | 1 ms | 384 KB |
00_small109.txt | AC | 1 ms | 384 KB |
00_small110.txt | AC | 1 ms | 384 KB |
00_small111.txt | AC | 1 ms | 384 KB |
00_small112.txt | AC | 1 ms | 384 KB |
00_small113.txt | AC | 1 ms | 384 KB |
00_small114.txt | AC | 1 ms | 384 KB |
00_small115.txt | AC | 1 ms | 384 KB |
00_small116.txt | AC | 1 ms | 384 KB |
00_small117.txt | AC | 1 ms | 384 KB |
00_small118.txt | AC | 1 ms | 384 KB |
00_small119.txt | AC | 1 ms | 384 KB |
00_small120.txt | AC | 1 ms | 384 KB |
00_small121.txt | AC | 1 ms | 384 KB |
00_small122.txt | AC | 1 ms | 384 KB |
00_small123.txt | AC | 1 ms | 384 KB |
00_small124.txt | AC | 1 ms | 384 KB |
00_small125.txt | AC | 1 ms | 384 KB |
00_small126.txt | AC | 1 ms | 384 KB |
00_small127.txt | AC | 1 ms | 384 KB |
00_small128.txt | AC | 1 ms | 384 KB |
00_small129.txt | AC | 1 ms | 384 KB |
00_small130.txt | AC | 1 ms | 384 KB |
00_small131.txt | AC | 1 ms | 384 KB |
00_small132.txt | AC | 1 ms | 384 KB |
00_small133.txt | AC | 1 ms | 384 KB |
00_small134.txt | AC | 1 ms | 384 KB |
00_small135.txt | AC | 1 ms | 384 KB |
00_small136.txt | AC | 1 ms | 384 KB |
00_small137.txt | AC | 1 ms | 384 KB |
00_small138.txt | AC | 1 ms | 384 KB |
00_small139.txt | AC | 1 ms | 384 KB |
00_small140.txt | AC | 1 ms | 384 KB |
00_small141.txt | AC | 1 ms | 384 KB |
00_small142.txt | AC | 1 ms | 384 KB |
00_small143.txt | AC | 1 ms | 384 KB |
00_small144.txt | AC | 1 ms | 384 KB |
00_small145.txt | AC | 1 ms | 384 KB |
00_small146.txt | AC | 1 ms | 384 KB |
00_small147.txt | AC | 1 ms | 384 KB |
00_small148.txt | AC | 1 ms | 384 KB |
00_small149.txt | AC | 1 ms | 384 KB |
00_small150.txt | AC | 1 ms | 384 KB |
00_small151.txt | AC | 1 ms | 384 KB |
00_small152.txt | AC | 1 ms | 384 KB |
00_small153.txt | AC | 1 ms | 384 KB |
00_small154.txt | AC | 1 ms | 384 KB |
00_small155.txt | AC | 1 ms | 384 KB |
00_small156.txt | AC | 1 ms | 384 KB |
00_small157.txt | AC | 1 ms | 384 KB |
00_small158.txt | AC | 1 ms | 384 KB |
01_large100.txt | AC | 1 ms | 384 KB |
01_large101.txt | AC | 1 ms | 384 KB |
01_large102.txt | AC | 1 ms | 384 KB |
01_large103.txt | AC | 2 ms | 512 KB |
01_large104.txt | AC | 1 ms | 512 KB |
01_large105.txt | AC | 2 ms | 512 KB |
01_large106.txt | AC | 1 ms | 512 KB |
01_large107.txt | AC | 1 ms | 512 KB |
01_large108.txt | AC | 4 ms | 1024 KB |
01_large1325.txt | AC | 7 ms | 768 KB |
01_large1327.txt | AC | 10 ms | 1024 KB |
01_large1330.txt | AC | 7 ms | 1024 KB |
01_large1339.txt | AC | 6 ms | 768 KB |
01_large1343.txt | AC | 10 ms | 1024 KB |
01_large1355.txt | AC | 9 ms | 1024 KB |
01_large1366.txt | AC | 9 ms | 896 KB |
01_large1367.txt | AC | 6 ms | 768 KB |
01_large1374.txt | AC | 7 ms | 896 KB |
01_large1380.txt | AC | 8 ms | 896 KB |
01_large1388.txt | AC | 7 ms | 768 KB |
01_large1395.txt | AC | 6 ms | 768 KB |
01_large1396.txt | AC | 11 ms | 1024 KB |
01_large1400.txt | AC | 7 ms | 1024 KB |
01_large1402.txt | AC | 7 ms | 768 KB |
01_large1405.txt | AC | 5 ms | 768 KB |
01_large1409.txt | AC | 6 ms | 768 KB |
01_large1413.txt | AC | 9 ms | 1024 KB |
01_large1417.txt | AC | 9 ms | 1024 KB |
01_large1423.txt | AC | 6 ms | 768 KB |
01_large1430.txt | AC | 7 ms | 896 KB |
01_large1437.txt | AC | 6 ms | 768 KB |
01_large1438.txt | AC | 10 ms | 1024 KB |
01_large1442.txt | AC | 7 ms | 1024 KB |
01_large1450.txt | AC | 7 ms | 896 KB |
01_large1459.txt | AC | 9 ms | 896 KB |
01_large1464.txt | AC | 9 ms | 896 KB |
01_large1472.txt | AC | 7 ms | 768 KB |
01_large1478.txt | AC | 8 ms | 896 KB |
01_large1480.txt | AC | 10 ms | 1024 KB |
01_large1486.txt | AC | 8 ms | 768 KB |
01_large1492.txt | AC | 8 ms | 896 KB |
01_large1500.txt | AC | 8 ms | 768 KB |
01_large1501.txt | AC | 12 ms | 896 KB |
01_large1502.txt | AC | 5 ms | 768 KB |
01_large1506.txt | AC | 8 ms | 896 KB |
01_large157.txt | AC | 9 ms | 896 KB |
01_large207.txt | AC | 8 ms | 1024 KB |
01_large507.txt | AC | 9 ms | 896 KB |
01_large577.txt | AC | 10 ms | 896 KB |
01_large591.txt | AC | 10 ms | 896 KB |
01_large893.txt | AC | 9 ms | 1024 KB |
01_manual_L00.txt | AC | 3 ms | 640 KB |
01_manual_L01.txt | AC | 3 ms | 384 KB |