답안 #411380

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
411380 2021-05-25T07:21:22 Z 조영욱(#7626) Vision Program (IOI19_vision) C++17
32 / 100
5 ms 1224 KB
#include "vision.h"
#include <bits/stdc++.h>
using namespace std;

int xpos[200];
int xval[200];
int xfinal[200];
int ypos[200];
int yval[200];
int yfinal[200];

void construct_network(int n,int m,int k) {
    for(int i=0;i<n;i++) {
        vector<int> v;
        for(int j=0;j<m;j++) {
            v.push_back(i*m+j);
        }
        xpos[i]=add_or(v);
    }
    for(int d=1;d<n;d++) {
        vector<int> v;
        for(int i=0;i<d;i++) {
            vector<int> v2;
            for(int j=i;j<n;j+=d) {
                v2.push_back(xpos[j]);
            }
            vector<int> temp;
            temp.push_back(add_or(v2));
            temp.push_back(add_not(add_xor(v2)));
            v.push_back(add_and(temp));
        }
        xval[d]=add_or(v);
    }
    vector<int> vec;
    vec.push_back(0);
    vec.push_back(add_not(0));
    int pos=add_xor(vec);
    xval[0]=pos;
    pos=add_not(pos);
    for(int i=n-1;i>=0;i--) {
        vector<int> v;
        v.push_back(add_not(pos));
        v.push_back(xval[i]);
        xfinal[i]=add_and(v);
        v.clear();
        v.push_back(pos);
        v.push_back(xval[i]);
        pos=add_or(v);
    }
    for(int j=0;j<m;j++) {
        vector<int> v;
        for(int i=0;i<n;i++) {
            v.push_back(i*m+j);
        }
        ypos[j]=add_or(v);
    }
    for(int d=1;d<m;d++) {
        vector<int> v;
        for(int i=0;i<d;i++) {
            vector<int> v2;
            for(int j=i;j<m;j+=d) {
                v2.push_back(ypos[j]);
            }
            vector<int> temp;
            temp.push_back(add_or(v2));
            temp.push_back(add_not(add_xor(v2)));
            v.push_back(add_and(temp));
        }
        yval[d]=add_or(v);
    }
    pos=add_xor(vec);
    yval[0]=pos;
    pos=add_not(pos);
    for(int i=m-1;i>=0;i--) {
        vector<int> v;
        v.push_back(add_not(pos));
        v.push_back(yval[i]);
        yfinal[i]=add_and(v);
        v.clear();
        v.push_back(pos);
        v.push_back(yval[i]);
        pos=add_or(v);
    }
    int ret=add_xor(vec);
    ret=add_not(ret);
    for(int i=0;i<=k;i++) {
        if (i>=n||k-i>=m) {
            continue;
        }
        vector<int> temp;
        temp.push_back(xfinal[i]);
        temp.push_back(yfinal[k-i]);
        int got=add_and(temp);
        vector<int> v;
        v.push_back(got);
        v.push_back(ret);
        ret=add_or(v);
    }
}
# 결과 실행 시간 메모리 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 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 204 KB Output is correct
14 Correct 1 ms 204 KB Output is correct
15 Correct 1 ms 204 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
# 결과 실행 시간 메모리 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 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 204 KB Output is correct
14 Correct 1 ms 204 KB Output is correct
15 Correct 1 ms 204 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 332 KB Output is correct
27 Correct 1 ms 332 KB Output is correct
# 결과 실행 시간 메모리 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 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 204 KB Output is correct
14 Correct 1 ms 204 KB Output is correct
15 Correct 1 ms 204 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 332 KB Output is correct
27 Correct 1 ms 332 KB Output is correct
28 Correct 3 ms 588 KB Output is correct
29 Correct 2 ms 332 KB Output is correct
30 Correct 2 ms 332 KB Output is correct
31 Correct 2 ms 460 KB Output is correct
32 Correct 2 ms 424 KB Output is correct
33 Correct 3 ms 588 KB Output is correct
34 Correct 3 ms 588 KB Output is correct
35 Correct 3 ms 588 KB Output is correct
36 Correct 5 ms 588 KB Output is correct
37 Correct 5 ms 548 KB Output is correct
# 결과 실행 시간 메모리 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 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 204 KB Output is correct
14 Correct 1 ms 204 KB Output is correct
15 Correct 1 ms 204 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 332 KB Output is correct
27 Correct 1 ms 332 KB Output is correct
28 Correct 3 ms 588 KB Output is correct
29 Correct 2 ms 332 KB Output is correct
30 Correct 2 ms 332 KB Output is correct
31 Correct 2 ms 460 KB Output is correct
32 Correct 2 ms 424 KB Output is correct
33 Correct 3 ms 588 KB Output is correct
34 Correct 3 ms 588 KB Output is correct
35 Correct 3 ms 588 KB Output is correct
36 Correct 5 ms 588 KB Output is correct
37 Correct 5 ms 548 KB Output is correct
38 Incorrect 3 ms 1096 KB WA in grader: Too many instructions
39 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 3 ms 1096 KB WA in grader: Too many instructions
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 204 KB Output is correct
2 Correct 1 ms 204 KB Output is correct
3 Incorrect 3 ms 1096 KB WA in grader: Too many instructions
4 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 3 ms 1224 KB WA in grader: Too many instructions
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 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 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 204 KB Output is correct
14 Correct 1 ms 204 KB Output is correct
15 Correct 1 ms 204 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 332 KB Output is correct
27 Correct 1 ms 332 KB Output is correct
28 Correct 3 ms 588 KB Output is correct
29 Correct 2 ms 332 KB Output is correct
30 Correct 2 ms 332 KB Output is correct
31 Correct 2 ms 460 KB Output is correct
32 Correct 2 ms 424 KB Output is correct
33 Correct 3 ms 588 KB Output is correct
34 Correct 3 ms 588 KB Output is correct
35 Correct 3 ms 588 KB Output is correct
36 Correct 5 ms 588 KB Output is correct
37 Correct 5 ms 548 KB Output is correct
38 Incorrect 3 ms 1096 KB WA in grader: Too many instructions
39 Halted 0 ms 0 KB -