#include "vision.h"
#include <bits/stdc++.h>
#define fore(i, b, e) for (int i = b; i < (int)e; ++i)
#define pb push_back
using namespace std;
typedef vector<int> vi;
vi diagL[410], diagR[410];
int solve(int H, int W, int k) {
vi resR, resL;
vi v, pref;
fore(i, 0, H+W-1) {
v.pb(add_or(diagL[i]));
pref.pb(add_or(v));
if (i > 0) {
if (i >= k) {
int tmp = add_xor({pref[i-1], pref[i-k]});
resL.pb( add_and({v.back(), tmp}) );
}
else if (i == k-1) {
resL.pb( add_and({v.back(), pref[i-1]}) );
}
}
}
v.clear();
pref.clear();
fore(i, 0, H+W-1) {
v.pb(add_or(diagR[i]));
pref.pb(add_or(v));
if (i > 0) {
if (i >= k) {
int tmp = add_xor({pref[i-1], pref[i-k]});
resR.pb( add_and({v.back(), tmp}) );
}
else if (i == k-1) {
resR.pb( add_and({v.back(), pref[i-1]}) );
}
}
}
int rL = add_or(resL);
int rR = add_or(resR);
return add_and({rL, rR});
}
void construct_network(int H, int W, int K) {
fore(i, 0, H) {
fore(j, 0, W) {
diagL[i+j].pb(i*W + j);
diagR[i-j+W-1].pb(i*W + j);
}
}
if (H+W-2 == K) {
assert(false);
add_not(solve(H, W, K));
}
else {
add_xor({solve(H, W, K), solve(H, W, K+1)});
}
}
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
1 ms |
384 KB |
Output is correct |
2 |
Runtime error |
1 ms |
512 KB |
Execution killed with signal 11 |
3 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
1 ms |
384 KB |
Output is correct |
2 |
Runtime error |
1 ms |
512 KB |
Execution killed with signal 11 |
3 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
1 ms |
384 KB |
Output is correct |
2 |
Runtime error |
1 ms |
512 KB |
Execution killed with signal 11 |
3 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
1 ms |
384 KB |
Output is correct |
2 |
Runtime error |
1 ms |
512 KB |
Execution killed with signal 11 |
3 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
14 ms |
1272 KB |
Output is correct |
2 |
Incorrect |
11 ms |
1152 KB |
on inputs (0, 0), (0, 98), expected 0, but computed 1 |
3 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
1 ms |
288 KB |
Output is correct |
2 |
Runtime error |
1 ms |
512 KB |
Execution killed with signal 11 |
3 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
60 ms |
6004 KB |
Output is correct |
2 |
Correct |
0 ms |
384 KB |
Output is correct |
3 |
Correct |
7 ms |
1024 KB |
Output is correct |
4 |
Correct |
12 ms |
1408 KB |
Output is correct |
5 |
Correct |
11 ms |
1280 KB |
Output is correct |
6 |
Correct |
11 ms |
1280 KB |
Output is correct |
7 |
Correct |
36 ms |
3452 KB |
Output is correct |
8 |
Correct |
34 ms |
3444 KB |
Output is correct |
9 |
Correct |
60 ms |
6004 KB |
Output is correct |
10 |
Runtime error |
1 ms |
512 KB |
Execution killed with signal 11 |
11 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
1 ms |
384 KB |
Output is correct |
2 |
Runtime error |
1 ms |
512 KB |
Execution killed with signal 11 |
3 |
Halted |
0 ms |
0 KB |
- |