Submission #723964

# Submission time Handle Problem Language Result Execution time Memory
723964 2023-04-14T14:25:25 Z victor_gao Vision Program (IOI19_vision) C++17
58 / 100
76 ms 8012 KB
#include "vision.h"
#include <bits/stdc++.h>
#define pii pair<int,int>
#define x first
#define y second
#define MAXN 205
using namespace std;
int n,m,k;
vector<int>ad[2*MAXN],ms[2*MAXN],hs,Ws;
vector<int>q[2];
void construct_network(int H, int W, int K) {
	n=H; m=W; k=K;
	for (int i=0;i<n;i++){
		for (int j=0;j<m;j++){
			ad[i+j].push_back(i*m+j);
			ms[i-j+m-1].push_back(i*m+j);
		}
	}
	int now=n*m-1;
	for (int i=0;i<=n+m-2;i++){
		vector<int>qus;
		if (i+k<=n+m-2){
			for (auto j:ad[i]) qus.push_back(j);
			int before;
			add_xor(qus); now++;
			before=now;
			for (auto j:ad[i+k]) qus.push_back(j);
			add_or(qus); now++;
			qus.push_back(now);
			add_xor(qus); now++;
			qus.clear(); 
			qus.push_back(now);
			qus.push_back(before);
			add_and(qus); now++;
			q[0].push_back(now);
		}
	}
	for (int i=0;i<=n+m-2;i++){
		vector<int>qus;
		if (i+k<=n+m-2){
			for (auto j:ms[i]) qus.push_back(j);
			int before;
			add_xor(qus); now++;
			before=now;
			for (auto j:ms[i+k]) qus.push_back(j);
			add_or(qus); now++;
			qus.push_back(now);
			add_xor(qus); now++;
			qus.clear(); 
			qus.push_back(now);
			qus.push_back(before);
			add_and(qus); now++;
			q[1].push_back(now);
		}
	}
	for (int i=0;i<n;i++){
		vector<int>qus;
		for (int j=i;j<min(n,i+k+1);j++){
			for (int l=0;l<m;l++)
				qus.push_back(j*m+l);
		}
		add_or(qus); now++;
		qus.push_back(now);
		add_xor(qus); now++;
		hs.push_back(now);
	}
	for (int i=0;i<m;i++){
		vector<int>qus;
		for (int j=i;j<min(m,i+k+1);j++)
			for (int l=0;l<n;l++)
				qus.push_back(l*m+j);
		add_or(qus); now++;
		qus.push_back(now);
		add_xor(qus); now++;
		Ws.push_back(now);
	}
	vector<int>qus;
//	cout<<"Q : ";
	for (auto i:q[0]){
		qus.push_back(i);
//		cout<<i<<" ";
	}
//	cout<<'\n'<<"Q : ";
	for (auto i:q[1]){
		qus.push_back(i);
//		cout<<i<<" ";
	}
	/*
	cout<<'\n';
	cout<<"hs : ";
	for (auto i:hs) cout<<i<<" ";
	cout<<"\nWs : ";
	for (auto i:Ws) cout<<i<<' ';
	cout<<'\n'; 
	*/
	add_or(qus); now++;
	int have=now;
	qus.clear(); qus.push_back(have);
	add_or(hs); now++;
	qus.push_back(now);
	add_or(Ws); now++;
	qus.push_back(now);
	add_and(qus);
}
# Verdict Execution time Memory Grader output
1 Correct 1 ms 212 KB Output is correct
2 Correct 0 ms 212 KB Output is correct
3 Correct 1 ms 256 KB Output is correct
4 Correct 0 ms 212 KB Output is correct
5 Correct 1 ms 212 KB Output is correct
6 Correct 1 ms 212 KB Output is correct
7 Correct 1 ms 320 KB Output is correct
8 Correct 1 ms 212 KB Output is correct
9 Correct 1 ms 212 KB Output is correct
10 Correct 1 ms 212 KB Output is correct
11 Correct 1 ms 212 KB Output is correct
12 Correct 1 ms 316 KB Output is correct
13 Correct 1 ms 212 KB Output is correct
14 Correct 1 ms 212 KB Output is correct
15 Correct 1 ms 324 KB Output is correct
16 Correct 1 ms 324 KB Output is correct
17 Correct 1 ms 212 KB Output is correct
18 Correct 1 ms 212 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 212 KB Output is correct
2 Correct 0 ms 212 KB Output is correct
3 Correct 1 ms 256 KB Output is correct
4 Correct 0 ms 212 KB Output is correct
5 Correct 1 ms 212 KB Output is correct
6 Correct 1 ms 212 KB Output is correct
7 Correct 1 ms 320 KB Output is correct
8 Correct 1 ms 212 KB Output is correct
9 Correct 1 ms 212 KB Output is correct
10 Correct 1 ms 212 KB Output is correct
11 Correct 1 ms 212 KB Output is correct
12 Correct 1 ms 316 KB Output is correct
13 Correct 1 ms 212 KB Output is correct
14 Correct 1 ms 212 KB Output is correct
15 Correct 1 ms 324 KB Output is correct
16 Correct 1 ms 324 KB Output is correct
17 Correct 1 ms 212 KB Output is correct
18 Correct 1 ms 212 KB Output is correct
19 Correct 1 ms 212 KB Output is correct
20 Correct 1 ms 212 KB Output is correct
21 Correct 1 ms 212 KB Output is correct
22 Correct 1 ms 212 KB Output is correct
23 Correct 1 ms 340 KB Output is correct
24 Correct 1 ms 340 KB Output is correct
25 Correct 2 ms 340 KB Output is correct
26 Correct 1 ms 340 KB Output is correct
27 Correct 1 ms 316 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 212 KB Output is correct
2 Correct 0 ms 212 KB Output is correct
3 Correct 1 ms 256 KB Output is correct
4 Correct 0 ms 212 KB Output is correct
5 Correct 1 ms 212 KB Output is correct
6 Correct 1 ms 212 KB Output is correct
7 Correct 1 ms 320 KB Output is correct
8 Correct 1 ms 212 KB Output is correct
9 Correct 1 ms 212 KB Output is correct
10 Correct 1 ms 212 KB Output is correct
11 Correct 1 ms 212 KB Output is correct
12 Correct 1 ms 316 KB Output is correct
13 Correct 1 ms 212 KB Output is correct
14 Correct 1 ms 212 KB Output is correct
15 Correct 1 ms 324 KB Output is correct
16 Correct 1 ms 324 KB Output is correct
17 Correct 1 ms 212 KB Output is correct
18 Correct 1 ms 212 KB Output is correct
19 Correct 1 ms 212 KB Output is correct
20 Correct 1 ms 212 KB Output is correct
21 Correct 1 ms 212 KB Output is correct
22 Correct 1 ms 212 KB Output is correct
23 Correct 1 ms 340 KB Output is correct
24 Correct 1 ms 340 KB Output is correct
25 Correct 2 ms 340 KB Output is correct
26 Correct 1 ms 340 KB Output is correct
27 Correct 1 ms 316 KB Output is correct
28 Correct 7 ms 724 KB Output is correct
29 Correct 1 ms 340 KB Output is correct
30 Correct 1 ms 340 KB Output is correct
31 Correct 3 ms 468 KB Output is correct
32 Correct 2 ms 324 KB Output is correct
33 Correct 2 ms 468 KB Output is correct
34 Correct 6 ms 724 KB Output is correct
35 Correct 7 ms 724 KB Output is correct
36 Correct 9 ms 708 KB Output is correct
37 Correct 7 ms 692 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 212 KB Output is correct
2 Correct 0 ms 212 KB Output is correct
3 Correct 1 ms 256 KB Output is correct
4 Correct 0 ms 212 KB Output is correct
5 Correct 1 ms 212 KB Output is correct
6 Correct 1 ms 212 KB Output is correct
7 Correct 1 ms 320 KB Output is correct
8 Correct 1 ms 212 KB Output is correct
9 Correct 1 ms 212 KB Output is correct
10 Correct 1 ms 212 KB Output is correct
11 Correct 1 ms 212 KB Output is correct
12 Correct 1 ms 316 KB Output is correct
13 Correct 1 ms 212 KB Output is correct
14 Correct 1 ms 212 KB Output is correct
15 Correct 1 ms 324 KB Output is correct
16 Correct 1 ms 324 KB Output is correct
17 Correct 1 ms 212 KB Output is correct
18 Correct 1 ms 212 KB Output is correct
19 Correct 1 ms 212 KB Output is correct
20 Correct 1 ms 212 KB Output is correct
21 Correct 1 ms 212 KB Output is correct
22 Correct 1 ms 212 KB Output is correct
23 Correct 1 ms 340 KB Output is correct
24 Correct 1 ms 340 KB Output is correct
25 Correct 2 ms 340 KB Output is correct
26 Correct 1 ms 340 KB Output is correct
27 Correct 1 ms 316 KB Output is correct
28 Correct 7 ms 724 KB Output is correct
29 Correct 1 ms 340 KB Output is correct
30 Correct 1 ms 340 KB Output is correct
31 Correct 3 ms 468 KB Output is correct
32 Correct 2 ms 324 KB Output is correct
33 Correct 2 ms 468 KB Output is correct
34 Correct 6 ms 724 KB Output is correct
35 Correct 7 ms 724 KB Output is correct
36 Correct 9 ms 708 KB Output is correct
37 Correct 7 ms 692 KB Output is correct
38 Incorrect 6 ms 4436 KB WA in grader: Too many inputs
39 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 2 ms 468 KB Output is correct
2 Correct 5 ms 596 KB Output is correct
3 Correct 5 ms 624 KB Output is correct
4 Correct 5 ms 596 KB Output is correct
5 Correct 2 ms 468 KB Output is correct
6 Correct 6 ms 612 KB Output is correct
7 Correct 4 ms 596 KB Output is correct
8 Correct 5 ms 596 KB Output is correct
9 Correct 3 ms 468 KB Output is correct
10 Correct 5 ms 596 KB Output is correct
11 Correct 7 ms 536 KB Output is correct
12 Correct 4 ms 596 KB Output is correct
13 Correct 4 ms 596 KB Output is correct
14 Correct 4 ms 596 KB Output is correct
15 Correct 2 ms 468 KB Output is correct
16 Correct 3 ms 468 KB Output is correct
17 Correct 6 ms 596 KB Output is correct
18 Correct 4 ms 596 KB Output is correct
19 Correct 5 ms 596 KB Output is correct
20 Correct 5 ms 596 KB Output is correct
21 Correct 0 ms 212 KB Output is correct
22 Correct 0 ms 212 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 212 KB Output is correct
2 Correct 1 ms 320 KB Output is correct
3 Correct 6 ms 828 KB Output is correct
4 Correct 28 ms 2720 KB Output is correct
5 Correct 37 ms 3532 KB Output is correct
6 Correct 48 ms 3780 KB Output is correct
7 Correct 38 ms 3756 KB Output is correct
8 Correct 12 ms 1524 KB Output is correct
9 Correct 76 ms 7264 KB Output is correct
10 Incorrect 5 ms 4308 KB WA in grader: Too many inputs
11 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 75 ms 7900 KB Output is correct
2 Correct 0 ms 212 KB Output is correct
3 Correct 7 ms 836 KB Output is correct
4 Correct 11 ms 1364 KB Output is correct
5 Correct 2 ms 468 KB Output is correct
6 Correct 2 ms 416 KB Output is correct
7 Correct 34 ms 4120 KB Output is correct
8 Correct 38 ms 4044 KB Output is correct
9 Correct 70 ms 8012 KB Output is correct
10 Correct 1 ms 212 KB Output is correct
11 Correct 1 ms 212 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 212 KB Output is correct
2 Correct 0 ms 212 KB Output is correct
3 Correct 1 ms 256 KB Output is correct
4 Correct 0 ms 212 KB Output is correct
5 Correct 1 ms 212 KB Output is correct
6 Correct 1 ms 212 KB Output is correct
7 Correct 1 ms 320 KB Output is correct
8 Correct 1 ms 212 KB Output is correct
9 Correct 1 ms 212 KB Output is correct
10 Correct 1 ms 212 KB Output is correct
11 Correct 1 ms 212 KB Output is correct
12 Correct 1 ms 316 KB Output is correct
13 Correct 1 ms 212 KB Output is correct
14 Correct 1 ms 212 KB Output is correct
15 Correct 1 ms 324 KB Output is correct
16 Correct 1 ms 324 KB Output is correct
17 Correct 1 ms 212 KB Output is correct
18 Correct 1 ms 212 KB Output is correct
19 Correct 1 ms 212 KB Output is correct
20 Correct 1 ms 212 KB Output is correct
21 Correct 1 ms 212 KB Output is correct
22 Correct 1 ms 212 KB Output is correct
23 Correct 1 ms 340 KB Output is correct
24 Correct 1 ms 340 KB Output is correct
25 Correct 2 ms 340 KB Output is correct
26 Correct 1 ms 340 KB Output is correct
27 Correct 1 ms 316 KB Output is correct
28 Correct 7 ms 724 KB Output is correct
29 Correct 1 ms 340 KB Output is correct
30 Correct 1 ms 340 KB Output is correct
31 Correct 3 ms 468 KB Output is correct
32 Correct 2 ms 324 KB Output is correct
33 Correct 2 ms 468 KB Output is correct
34 Correct 6 ms 724 KB Output is correct
35 Correct 7 ms 724 KB Output is correct
36 Correct 9 ms 708 KB Output is correct
37 Correct 7 ms 692 KB Output is correct
38 Incorrect 6 ms 4436 KB WA in grader: Too many inputs
39 Halted 0 ms 0 KB -