답안 #259500

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
259500 2020-08-07T23:31:56 Z peti1234 Vision Program (IOI19_vision) C++17
0 / 100
18 ms 1408 KB
#include "vision.h"

#include <bits/stdc++.h>

using namespace std;
#define rep(n) for (int i=0; i<n; i++)
#define jrep(n) for (int j=0; j<n; j++)
const int c=202, f=25;
int pos, ua, nua, v[c], px[c], seg[c], seg2[c], sor[c], oszlop[c], nagy[c], kis[c], ans[c], id;
vector<int> sol;
void pb(int a) {
    sol.push_back(a);
}
int add(int a) {

    if (a==1) add_or(sol);
    if (a==2) add_and(sol);
    if (a==3) add_xor(sol);
    if (a==4) add_not(ua);

    sol.clear(), pos++;
    return pos;
}
void calc(int n) {
    int ff=min(n, f);
    rep(n) pb(v[i]);
    ua=add(3), nua=add(4);
    rep(n) {
        if (i) pb(px[i-1]);
        pb(v[i]);
        px[i]=add(3);
    }
    for (int j=0; j<n; j+=f) {
        rep(n-j) pb(px[i]), pb(px[i+j]), seg[i]=add(2);
        rep(n-j) pb(seg[i]);
        nagy[j/f]=add(1);
        if (j) pb(nagy[j/f-1]), pb(nagy[j/f]), nagy[j/f-1]=add(3);
    }
    rep(ff) {
        for (int j=i; j<n; j+=f) pb(v[j]);
        seg[i]=add(1);
    }
    rep(ff) {
        if (!i) {
            rep(ff) pb(seg[i]);
            kis[0]=add(3), i++;
        }
        jrep(ff-i) pb(seg[j]), pb(seg[j+i]), seg2[j]=add(2);
        jrep(ff-i) pb(seg2[j]);
        kis[i]=add(1);
    }
}
void construct_network(int n, int m, int k) {
    rep(n) {
        int p=m*i;
        rep(m) pb(p+i);
        v[i]=add(1);
    }
    calc(n);
    rep(n) {
        if (!i) {
            pb(ua);
            sor[i]=add(1), i++;
        }
        pb(nua), pb(kis[i%f]), pb(nagy[(i-1)/f]);
        sor[i]=add(2);
    }
    rep(m) {
        int p=i;
        rep(n) pb(p+m*i);
        v[i]=add(1);
    }
    calc(m);
    rep(m) {
        if (!i) {
            pb(ua);
            oszlop[i]=add(1), i++;
        }
        pb(nua), pb(kis[i%f]), pb(nagy[(i-1)/f]);
        oszlop[i]=add(2);
    }
    rep(n) {
        int j=k-i;
        if (j>=0 && j<m) pb(sor[i]), pb(oszlop[j]), ans[id]=add(2), id++;
    }
    rep(id) pb(ans[i]);
    add(1);
}









/*
int b1, b2, b3;
int main()
{
    cin >> b1 >> b2 >> b3;
    construct_network(b1, b2, b3);
    return 0;
}
*/
# 결과 실행 시간 메모리 Grader output
1 Incorrect 0 ms 256 KB WA in grader: Instruction with no inputs
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 0 ms 256 KB WA in grader: Instruction with no inputs
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 0 ms 256 KB WA in grader: Instruction with no inputs
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 0 ms 256 KB WA in grader: Instruction with no inputs
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 1 ms 256 KB WA in grader: Instruction with no inputs
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 0 ms 256 KB on inputs (0, 0), (1, 0), expected 1, but computed 0
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 18 ms 1408 KB on inputs (80, 199), (81, 199), expected 1, but computed 0
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 0 ms 256 KB WA in grader: Instruction with no inputs
2 Halted 0 ms 0 KB -