| # | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 | 
|---|---|---|---|---|---|---|---|
| 291816 | medmdg | Vision Program (IOI19_vision) | C++14 | 12 ms | 1272 KiB | 
이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include<bits/stdc++.h>
#include "vision.h"
using namespace std;
void construct_network(int H, int W, int K){
    vector<int> hori;
    vector<int> vert;
    int bh=H*W;
    int eh;
    for(int i=0;i<H;i++){
        vector<int> al;
        for(int j=0;j<W;j++){
            al.push_back(j+i*W);
        }
        eh=add_or(al);
        hori.push_back(eh);
    }
    int bv=eh+1;
    int ev;
    for(int i=0;i<W;i++){
        vector<int> al;
        for(int j=i;j<H*W;j+=W){
            al.push_back(j);
        }
        ev=add_or(al);
        vert.push_back(ev);
    }
    vector<int> dishori;
    vector<int> disvert;
    int end=ev;
    vector<int> OH;
    for(int i=bh;i<=eh;i++){
        OH.push_back(i);
    }
    dishori.push_back(add_xor(OH));
    vector<int> OV;
    for(int i=bv;i<=ev;i++){
        OV.push_back(i);
    }
    disvert.push_back(add_xor(OV));
    end+=2;
    for(int i=1;i<=min(H-1,K);i++){
        vector<int> h;
        for(int j=bh;j<=eh-i;j++){
            vector<int> hp;
            hp.push_back(j);
            hp.push_back(j+i);
            end=add_and(hp);
            h.push_back(end);
        }
        if(h.size()){
            dishori.push_back(add_or(h));
            end++;
        }else{
            break;    
        }
    }
    for(int i=1;i<=min(W-1,K);i++){
        vector<int> h;
        for(int j=bv;j<=ev-i;j++){
            vector<int> hp;
            hp.push_back(j);
            hp.push_back(j+i);
            end=add_and(hp);
            h.push_back(end);
        }
        if(h.size()){
            disvert.push_back(add_or(h));
            end++;
        }else{
            break;
        }
    }
    int last;
    for(int i=0;i<=K;i++){
        if((int)(disvert.size())>i&&(int)(dishori.size())>K-i){
            vector<int> f;
            f.push_back(disvert[i]);
            f.push_back(dishori[K-i]);
            last=(add_and(f));
        }
    }
    vector<int> nb;
    for(int i=end+1;i<=last;i++){
        nb.push_back(i);
    }
    last=add_or(nb);
    return;
}
컴파일 시 표준 에러 (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... | ||||
