# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
1026791 | Zicrus | Vision Program (IOI19_vision) | C++17 | 5 ms | 1116 KiB |
이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include <bits/stdc++.h>
#include "vision.h"
using namespace std;
typedef long long ll;
vector<int> distIdVec(vector<int> xId, int W, int K) {
int sameX = add_xor(xId);
vector<int> distXId;
for (int xOffset = 0; xOffset <= K && xOffset < W; xOffset++) {
vector<int> offsetId;
for (int xPos = 0; xPos < W - xOffset; xPos++) {
offsetId.push_back(add_and({xId[xPos], xOffset == 0 ? sameX : xId[xPos + xOffset]}));
}
distXId.push_back(add_or(offsetId));
}
return distXId;
}
void construct_network(int H, int W, int K) {
if (W == 1) swap(W, H);
if (H == 1) {
vector<int> posId;
for (int x = 0; x < W - K; x++) {
posId.push_back(add_and({x, x+K}));
}
add_or(posId);
return;
}
if ((H <= 30 && W <= 30) || K == 1) {
vector<int> yId(H);
for (int i = 0; i < H; i++) {
vector<int> r;
for (int j = 0; j < W; j++) {
r.push_back(W * i + j);
}
yId[i] = add_or(r);
}
vector<int> xId(W);
for (int i = 0; i < W; i++) {
vector<int> c;
for (int j = 0; j < H; j++) {
c.push_back(W * j + i);
}
xId[i] = add_or(c);
}
vector<int> distXId = distIdVec(xId, W, K);
vector<int> distYId = distIdVec(yId, H, K);
vector<int> kAtXPosId;
for (int x = 0; x <= K && x < distXId.size(); x++) {
if (K-x >= distYId.size()) continue;
kAtXPosId.push_back(add_and({distXId[x], distYId[K-x]}));
}
add_or(kAtXPosId);
return;
}
vector<int> s;
ll x = min(W-1, K);
ll y = K - x;
while (x >= 0 && y < H) {
s.push_back(W * y + x);
x--; y++;
}
add_or(s);
}
컴파일 시 표준 에러 (stderr) 메시지
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |