Submission #422376

# Submission time Handle Problem Language Result Execution time Memory
422376 2021-06-10T05:08:36 Z Dan4Life Vision Program (IOI19_vision) C++17
58 / 100
491 ms 37468 KB
#include "vision.h"
#include <bits/stdc++.h>
using namespace std;
#define pb push_back
void construct_network(int H, int W, int K) {
	if(K==1)
	{
		vector<int> ROW, COL; ROW.clear(), COL.clear();
		for(int i = 0; i < H; i++)
		{
			vector<int> rows; rows.clear();
			for(int j = 0; j < W; j++) rows.pb(i*W+j);
			ROW.pb(add_xor(rows));
		}
		for(int i = 0; i < W; i++)
		{
			vector<int> cols; cols.clear();
			for(int j = 0; j < H; j++) cols.pb(j*W+i);
			COL.pb(add_xor(cols));
		}
		int x = add_or(ROW), y = add_or(COL);
        vector<int> t; t.clear(), t.pb(x), t.pb(add_not(y));
		int option1f = add_and(t);
		t.clear(), t.pb(y), t.pb(add_not(x));
		int option2f = add_and(t);
		vector<int> row_pair, col_pair; row_pair.clear(), col_pair.clear();
		for(int i = H*W; i < H*W+H-1; i++)
		{
			t.clear(); t.pb(i), t.pb(i+1);
			row_pair.pb(add_and(t));
		}
		for(int i = H*W+H; i < H*W+H+W-1; i++)
		{
			t.clear(); t.pb(i), t.pb(i+1);
			col_pair.pb(add_and(t));
		}
		int option1s=-1, option2s=-1;
		if(!row_pair.empty()) option1s = add_or(row_pair);
		if(!col_pair.empty()) option2s = add_or(col_pair);
		t.clear(), t.pb(option1f); if(option1s!=-1) t.pb(option1s);
		int option1 = add_and(t);
		t.clear(), t.pb(option2f); if(option2s!=-1) t.pb(option2s);
		int option2 = add_and(t);
		t.clear(), t.pb(option1), t.pb(option2);
		add_or(t);
	}
	else{
		set<pair<int,int> > S; S.clear();
		vector<int> v; v.clear();
		for(int i = 0; i < H; i++)
		{
			for(int j = 0; j < W; j++)
			{
				vector<int> w; w.clear();
				for(int k = i; k < H; k++)
				{
					for(int l = 0; l < W; l++)
					{
						if(abs(i-k)+abs(j-l)!=K or S.count({i*W+j, k*W+l})) continue;
						S.insert({i*W+j, k*W+l}), S.insert({k*W+l, i*W+j});
						w.push_back(k*W+l);
					}
				}
				if(w.empty())continue;
				int x = add_xor(w);
				vector<int> t; t.clear(); t.push_back(x), t.push_back(i*W+j);
				v.push_back(add_and(t));
			}
		}
		add_or(v);
	}
}
# Verdict Execution time Memory Grader output
1 Correct 1 ms 204 KB Output is correct
2 Correct 1 ms 204 KB Output is correct
3 Correct 1 ms 204 KB Output is correct
4 Correct 1 ms 296 KB Output is correct
5 Correct 1 ms 204 KB Output is correct
6 Correct 1 ms 204 KB Output is correct
7 Correct 1 ms 204 KB Output is correct
8 Correct 1 ms 204 KB Output is correct
9 Correct 1 ms 204 KB Output is correct
10 Correct 1 ms 204 KB Output is correct
11 Correct 1 ms 204 KB Output is correct
12 Correct 1 ms 204 KB Output is correct
13 Correct 1 ms 288 KB Output is correct
14 Correct 1 ms 204 KB Output is correct
15 Correct 1 ms 292 KB Output is correct
16 Correct 1 ms 204 KB Output is correct
17 Correct 1 ms 204 KB Output is correct
18 Correct 1 ms 204 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 204 KB Output is correct
2 Correct 1 ms 204 KB Output is correct
3 Correct 1 ms 204 KB Output is correct
4 Correct 1 ms 296 KB Output is correct
5 Correct 1 ms 204 KB Output is correct
6 Correct 1 ms 204 KB Output is correct
7 Correct 1 ms 204 KB Output is correct
8 Correct 1 ms 204 KB Output is correct
9 Correct 1 ms 204 KB Output is correct
10 Correct 1 ms 204 KB Output is correct
11 Correct 1 ms 204 KB Output is correct
12 Correct 1 ms 204 KB Output is correct
13 Correct 1 ms 288 KB Output is correct
14 Correct 1 ms 204 KB Output is correct
15 Correct 1 ms 292 KB Output is correct
16 Correct 1 ms 204 KB Output is correct
17 Correct 1 ms 204 KB Output is correct
18 Correct 1 ms 204 KB Output is correct
19 Correct 1 ms 204 KB Output is correct
20 Correct 1 ms 204 KB Output is correct
21 Correct 1 ms 204 KB Output is correct
22 Correct 1 ms 204 KB Output is correct
23 Correct 1 ms 204 KB Output is correct
24 Correct 1 ms 332 KB Output is correct
25 Correct 1 ms 332 KB Output is correct
26 Correct 1 ms 204 KB Output is correct
27 Correct 2 ms 204 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 204 KB Output is correct
2 Correct 1 ms 204 KB Output is correct
3 Correct 1 ms 204 KB Output is correct
4 Correct 1 ms 296 KB Output is correct
5 Correct 1 ms 204 KB Output is correct
6 Correct 1 ms 204 KB Output is correct
7 Correct 1 ms 204 KB Output is correct
8 Correct 1 ms 204 KB Output is correct
9 Correct 1 ms 204 KB Output is correct
10 Correct 1 ms 204 KB Output is correct
11 Correct 1 ms 204 KB Output is correct
12 Correct 1 ms 204 KB Output is correct
13 Correct 1 ms 288 KB Output is correct
14 Correct 1 ms 204 KB Output is correct
15 Correct 1 ms 292 KB Output is correct
16 Correct 1 ms 204 KB Output is correct
17 Correct 1 ms 204 KB Output is correct
18 Correct 1 ms 204 KB Output is correct
19 Correct 1 ms 204 KB Output is correct
20 Correct 1 ms 204 KB Output is correct
21 Correct 1 ms 204 KB Output is correct
22 Correct 1 ms 204 KB Output is correct
23 Correct 1 ms 204 KB Output is correct
24 Correct 1 ms 332 KB Output is correct
25 Correct 1 ms 332 KB Output is correct
26 Correct 1 ms 204 KB Output is correct
27 Correct 2 ms 204 KB Output is correct
28 Correct 15 ms 1868 KB Output is correct
29 Correct 1 ms 204 KB Output is correct
30 Correct 1 ms 288 KB Output is correct
31 Correct 1 ms 204 KB Output is correct
32 Correct 2 ms 460 KB Output is correct
33 Correct 2 ms 204 KB Output is correct
34 Correct 13 ms 1868 KB Output is correct
35 Correct 8 ms 1316 KB Output is correct
36 Correct 2 ms 460 KB Output is correct
37 Correct 3 ms 204 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 204 KB Output is correct
2 Correct 1 ms 204 KB Output is correct
3 Correct 1 ms 204 KB Output is correct
4 Correct 1 ms 296 KB Output is correct
5 Correct 1 ms 204 KB Output is correct
6 Correct 1 ms 204 KB Output is correct
7 Correct 1 ms 204 KB Output is correct
8 Correct 1 ms 204 KB Output is correct
9 Correct 1 ms 204 KB Output is correct
10 Correct 1 ms 204 KB Output is correct
11 Correct 1 ms 204 KB Output is correct
12 Correct 1 ms 204 KB Output is correct
13 Correct 1 ms 288 KB Output is correct
14 Correct 1 ms 204 KB Output is correct
15 Correct 1 ms 292 KB Output is correct
16 Correct 1 ms 204 KB Output is correct
17 Correct 1 ms 204 KB Output is correct
18 Correct 1 ms 204 KB Output is correct
19 Correct 1 ms 204 KB Output is correct
20 Correct 1 ms 204 KB Output is correct
21 Correct 1 ms 204 KB Output is correct
22 Correct 1 ms 204 KB Output is correct
23 Correct 1 ms 204 KB Output is correct
24 Correct 1 ms 332 KB Output is correct
25 Correct 1 ms 332 KB Output is correct
26 Correct 1 ms 204 KB Output is correct
27 Correct 2 ms 204 KB Output is correct
28 Correct 15 ms 1868 KB Output is correct
29 Correct 1 ms 204 KB Output is correct
30 Correct 1 ms 288 KB Output is correct
31 Correct 1 ms 204 KB Output is correct
32 Correct 2 ms 460 KB Output is correct
33 Correct 2 ms 204 KB Output is correct
34 Correct 13 ms 1868 KB Output is correct
35 Correct 8 ms 1316 KB Output is correct
36 Correct 2 ms 460 KB Output is correct
37 Correct 3 ms 204 KB Output is correct
38 Incorrect 491 ms 37468 KB WA in grader: Too many instructions
39 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 204 KB Output is correct
2 Correct 1 ms 204 KB Output is correct
3 Correct 1 ms 204 KB Output is correct
4 Correct 1 ms 204 KB Output is correct
5 Correct 1 ms 288 KB Output is correct
6 Correct 1 ms 332 KB Output is correct
7 Correct 1 ms 204 KB Output is correct
8 Correct 1 ms 204 KB Output is correct
9 Correct 1 ms 332 KB Output is correct
10 Correct 1 ms 332 KB Output is correct
11 Correct 1 ms 204 KB Output is correct
12 Correct 1 ms 288 KB Output is correct
13 Correct 1 ms 204 KB Output is correct
14 Correct 1 ms 204 KB Output is correct
15 Correct 1 ms 288 KB Output is correct
16 Correct 1 ms 332 KB Output is correct
17 Correct 1 ms 204 KB Output is correct
18 Correct 1 ms 284 KB Output is correct
19 Correct 1 ms 204 KB Output is correct
20 Correct 1 ms 204 KB Output is correct
21 Correct 1 ms 204 KB Output is correct
22 Correct 1 ms 204 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 204 KB Output is correct
2 Correct 1 ms 204 KB Output is correct
3 Correct 1 ms 288 KB Output is correct
4 Correct 100 ms 7632 KB Output is correct
5 Correct 41 ms 4516 KB Output is correct
6 Correct 20 ms 1744 KB Output is correct
7 Correct 7 ms 204 KB Output is correct
8 Correct 2 ms 332 KB Output is correct
9 Incorrect 170 ms 20316 KB WA in grader: Too many instructions
10 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 10 ms 1112 KB Output is correct
2 Correct 1 ms 204 KB Output is correct
3 Correct 2 ms 292 KB Output is correct
4 Correct 3 ms 332 KB Output is correct
5 Correct 1 ms 204 KB Output is correct
6 Correct 1 ms 332 KB Output is correct
7 Correct 6 ms 716 KB Output is correct
8 Correct 6 ms 716 KB Output is correct
9 Correct 13 ms 1100 KB Output is correct
10 Correct 1 ms 204 KB Output is correct
11 Correct 1 ms 204 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 204 KB Output is correct
2 Correct 1 ms 204 KB Output is correct
3 Correct 1 ms 204 KB Output is correct
4 Correct 1 ms 296 KB Output is correct
5 Correct 1 ms 204 KB Output is correct
6 Correct 1 ms 204 KB Output is correct
7 Correct 1 ms 204 KB Output is correct
8 Correct 1 ms 204 KB Output is correct
9 Correct 1 ms 204 KB Output is correct
10 Correct 1 ms 204 KB Output is correct
11 Correct 1 ms 204 KB Output is correct
12 Correct 1 ms 204 KB Output is correct
13 Correct 1 ms 288 KB Output is correct
14 Correct 1 ms 204 KB Output is correct
15 Correct 1 ms 292 KB Output is correct
16 Correct 1 ms 204 KB Output is correct
17 Correct 1 ms 204 KB Output is correct
18 Correct 1 ms 204 KB Output is correct
19 Correct 1 ms 204 KB Output is correct
20 Correct 1 ms 204 KB Output is correct
21 Correct 1 ms 204 KB Output is correct
22 Correct 1 ms 204 KB Output is correct
23 Correct 1 ms 204 KB Output is correct
24 Correct 1 ms 332 KB Output is correct
25 Correct 1 ms 332 KB Output is correct
26 Correct 1 ms 204 KB Output is correct
27 Correct 2 ms 204 KB Output is correct
28 Correct 15 ms 1868 KB Output is correct
29 Correct 1 ms 204 KB Output is correct
30 Correct 1 ms 288 KB Output is correct
31 Correct 1 ms 204 KB Output is correct
32 Correct 2 ms 460 KB Output is correct
33 Correct 2 ms 204 KB Output is correct
34 Correct 13 ms 1868 KB Output is correct
35 Correct 8 ms 1316 KB Output is correct
36 Correct 2 ms 460 KB Output is correct
37 Correct 3 ms 204 KB Output is correct
38 Incorrect 491 ms 37468 KB WA in grader: Too many instructions
39 Halted 0 ms 0 KB -