Submission #502503

#TimeUsernameProblemLanguageResultExecution timeMemory
502503KhizriVision Program (IOI19_vision)C++17
41 / 100
1 ms332 KiB
#include "vision.h" #include <bits/stdc++.h> using namespace std; int say; int dis(int r1,int c1,int r2,int c2){ return abs(r1-r2)+abs(c1-c2); } void check(int x,int y,int n,int m,int k){ for(int i=0;i<n;i++){ for(int j=0;j<m;j++){ if(i*m+j<=x*m+y) continue; if(dis(x,y,i,j)==k){ add_and({x*m+y,i*m+j}); say++; } } } } void task(int n,int m,int k){ for(int i=0;i<n;i++){ for(int j=0;j<m;j++){ if(dis(0,0,i,j)==k){ add_and({0,i*m+j}); say++; } } } vector<int>res; for(int i=n*m;i<=say;i++){ res.push_back(i); } add_or(res); } void construct_network(int n, int m, int k) { say=n*m-1; if(max(n,m)<=10||min(n,m)==1){ } else{ task(n,m,k); return; } for(int i=0;i<n;i++){ for(int j=0;j<m;j++){ check(i,j,n,m,k); } } vector<int>res; for(int i=n*m;i<=say;i++){ res.push_back(i); } add_or(res); }
#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...