Submission #892809

#TimeUsernameProblemLanguageResultExecution timeMemory
892809Faisal_SaqibVision Program (IOI19_vision)C++17
12 / 100
2 ms2260 KiB
#include <vector> #include <string> using namespace std; int add_and(std::vector<int> Ns); int add_or(std::vector<int> Ns); int add_xor(std::vector<int> Ns); int add_not(int N); bool vis[202][202]; int k,h,w; int f(int i,int j) { return (i*w)+j; } vector<int> val; void dfs(int i,int j) { // cout<<"At "<<i<<' '<<j<<endl; vis[i][j]=1; for(int fp=-k;fp<=k;fp++) { int rem=k-abs(fp); if(0<=(i+fp) and (i+fp)<h and 0<=(j+rem) and (j+rem)<w and !vis[i+fp][j+rem]) { val.push_back(add_and({f(i,j),f(i+fp,j+rem)})); dfs(i+fp,j+rem); } rem*=-1; if(0<=(i+fp) and (i+fp)<h and 0<=(j+rem) and (j+rem)<w and !vis[i+fp][j+rem]) { val.push_back(add_and({f(i,j),f(i+fp,j+rem)})); dfs(i+fp,j+rem); } } } void construct_network(int H, int W, int K) { k=K; h=H; w=W; for(int i=0;i<H;i++) { for(int j=0;j<W;j++) { if(!vis[i][j]) { dfs(i,j); } } } add_or(val); }
#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...