#include "vision.h"
#include <bits/stdc++.h>
using namespace std;
void construct_network(int H, int W, int K) {
map<int, vector<int> > a; ///down left (/)
map<int, vector<int> > b; ///down right (\)
for(int r = 0;r < H;r++){
for(int c = 0;c < W;c++){
a[r+c].push_back(r * W + c);
b[r-c].push_back(r * W + c);
}
}
int s = a.size();
int cnt = H*W;
for(map<int, vector<int> >::iterator it = a.begin();it != a.end();it++){
//cout << it->first << ": ";
//for(int x : it->second){
// cout << x << " ";
//}
//cout << "\n";
add_or(it->second);
cnt++;
}
for(map<int, vector<int> >::iterator it = b.begin();it != b.end();it++){
//cout << it->first << ": ";
//for(int x : it->second){
// cout << x << " ";
//}
//cout << "\n";
add_or(it->second);
cnt++;
}
for(int i = 0;i < s - K;i++){
vector<int> Ns = {H*W+i,H*W+i+K};
add_and(Ns);
cnt++;
}
for(int i = 0;i < s - K;i++){
vector<int> Ns = {H*W+i+s,H*W+i+K+s};
add_and(Ns);
cnt++;
}
vector<int> Ns;
for(int i = H*W+2*s;i < cnt;i++){
Ns.push_back(i);
}
int impt = add_or(Ns);
for(int r = 0;r < H;r++){
vector<int> Ds;
for(int c = 0;c < W;c++){
Ds.push_back(r * W + c);
}
add_or(Ds);
}
for(int c = 0;c < W;c++){
vector<int> Ds;
for(int r = 0;r < H;r++){
Ds.push_back(r * W + c);
}
add_or(Ds);
}
vector<int> hh;
vector<int> vv;
for(int r = 0;r < H - K;r++){
vector<int> Ds;
for(int i = 0;i <= K;i++){
Ds.push_back(impt + 1 + i + r);
}
int x = add_xor(Ds);
int y = add_or(Ds);
int z = add_not(x);
int zz = add_and({z,y});
hh.push_back(zz);
}
for(int r = 0;r < W - K;r++){
vector<int> Ds;
for(int i = 0;i <= K;i++){
Ds.push_back(impt + 1 + i + r + H);
}
int x = add_xor(Ds);
int y = add_or(Ds);
int z = add_not(x);
int zz = add_and({z,y});
vv.push_back(zz);
}
vector<int> st;
st.push_back(impt);
if(!vv.empty()) {int b1 = add_or(vv); st.push_back(b1);}
if(!hh.empty()) {int b2 = add_or(hh); st.push_back(b2);}
add_and(st);
}
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
2 ms |
376 KB |
Output is correct |
2 |
Correct |
2 ms |
376 KB |
Output is correct |
3 |
Correct |
2 ms |
376 KB |
Output is correct |
4 |
Correct |
2 ms |
376 KB |
Output is correct |
5 |
Incorrect |
2 ms |
376 KB |
on inputs (0, 0), (0, 1), expected 1, but computed 0 |
6 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
2 ms |
376 KB |
Output is correct |
2 |
Correct |
2 ms |
376 KB |
Output is correct |
3 |
Correct |
2 ms |
376 KB |
Output is correct |
4 |
Correct |
2 ms |
376 KB |
Output is correct |
5 |
Incorrect |
2 ms |
376 KB |
on inputs (0, 0), (0, 1), expected 1, but computed 0 |
6 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
2 ms |
376 KB |
Output is correct |
2 |
Correct |
2 ms |
376 KB |
Output is correct |
3 |
Correct |
2 ms |
376 KB |
Output is correct |
4 |
Correct |
2 ms |
376 KB |
Output is correct |
5 |
Incorrect |
2 ms |
376 KB |
on inputs (0, 0), (0, 1), expected 1, but computed 0 |
6 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
2 ms |
376 KB |
Output is correct |
2 |
Correct |
2 ms |
376 KB |
Output is correct |
3 |
Correct |
2 ms |
376 KB |
Output is correct |
4 |
Correct |
2 ms |
376 KB |
Output is correct |
5 |
Incorrect |
2 ms |
376 KB |
on inputs (0, 0), (0, 1), expected 1, but computed 0 |
6 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
3 ms |
504 KB |
Output is correct |
2 |
Correct |
5 ms |
632 KB |
Output is correct |
3 |
Correct |
5 ms |
632 KB |
Output is correct |
4 |
Correct |
3 ms |
348 KB |
Output is correct |
5 |
Correct |
3 ms |
504 KB |
Output is correct |
6 |
Correct |
5 ms |
632 KB |
Output is correct |
7 |
Correct |
5 ms |
504 KB |
Output is correct |
8 |
Correct |
3 ms |
376 KB |
Output is correct |
9 |
Correct |
3 ms |
504 KB |
Output is correct |
10 |
Correct |
4 ms |
632 KB |
Output is correct |
11 |
Correct |
5 ms |
632 KB |
Output is correct |
12 |
Correct |
5 ms |
632 KB |
Output is correct |
13 |
Correct |
4 ms |
504 KB |
Output is correct |
14 |
Correct |
2 ms |
348 KB |
Output is correct |
15 |
Correct |
3 ms |
504 KB |
Output is correct |
16 |
Correct |
5 ms |
632 KB |
Output is correct |
17 |
Correct |
5 ms |
632 KB |
Output is correct |
18 |
Correct |
5 ms |
636 KB |
Output is correct |
19 |
Correct |
4 ms |
504 KB |
Output is correct |
20 |
Correct |
2 ms |
376 KB |
Output is correct |
21 |
Correct |
2 ms |
256 KB |
Output is correct |
22 |
Correct |
2 ms |
376 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Incorrect |
2 ms |
376 KB |
on inputs (0, 0), (0, 1), expected 1, but computed 0 |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Incorrect |
26 ms |
2680 KB |
on inputs (80, 199), (81, 199), expected 1, but computed 0 |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
2 ms |
376 KB |
Output is correct |
2 |
Correct |
2 ms |
376 KB |
Output is correct |
3 |
Correct |
2 ms |
376 KB |
Output is correct |
4 |
Correct |
2 ms |
376 KB |
Output is correct |
5 |
Incorrect |
2 ms |
376 KB |
on inputs (0, 0), (0, 1), expected 1, but computed 0 |
6 |
Halted |
0 ms |
0 KB |
- |