제출 #884571

#제출 시각아이디문제언어결과실행 시간메모리
884571JakobZorzVision Program (IOI19_vision)C++14
100 / 100
42 ms5436 KiB
#include"vision.h" #include<iostream> #include<vector> using namespace std; int w,h; int get_cell(int x,int y){ return y*w+x; } // or, oxr pair<int,int>construct_diagonal1(int x,int y){ vector<int>ins; while(x<w&&y<h){ ins.push_back(get_cell(x,y)); x++; y++; } return{add_or(ins),add_xor(ins)}; } pair<int,int>construct_diagonal2(int x,int y){ vector<int>ins; while(x>=0&&y<h){ ins.push_back(get_cell(x,y)); x--; y++; } return{add_or(ins),add_xor(ins)}; } vector<int>func1(vector<pair<int,int>>arr1,int k){ vector<int>arr2; for(int i=0;i+k<=(int)arr1.size();i++){ vector<int>vec_or; vector<int>vec_xor; for(int j=i;j<i+k;j++){ vec_or.push_back(arr1[j].first); vec_xor.push_back(arr1[j].second); } int gor=add_or(vec_or); int gxor=add_xor(vec_xor); int gnxor=add_not(gxor); arr2.push_back(add_and({gor,gnxor})); } return arr2; } void construct_network(int H,int W,int k){ w=W; h=H; vector<pair<int,int>>diagonals1; for(int y=h-1;y>0;y--) diagonals1.push_back(construct_diagonal1(0,y)); for(int x=0;x<w;x++) diagonals1.push_back(construct_diagonal1(x,0)); vector<pair<int,int>>diagonals2; for(int x=0;x<w;x++) diagonals2.push_back(construct_diagonal2(x,0)); for(int y=1;y<h;y++) diagonals2.push_back(construct_diagonal2(w-1,y)); vector<int>intervals1,intervals2; vector<int>res; int or1=add_or(func1(diagonals1,k)); int or2=add_or(func1(diagonals2,k)); int or3=add_or(func1(diagonals1,k+1)); int or4=add_or(func1(diagonals2,k+1)); int and1=add_and({or1,or2}); int and2=add_and({or3,or4}); int not1=add_not(and1); add_and({and2,not1}); }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...