Submission #1216511

#TimeUsernameProblemLanguageResultExecution timeMemory
1216511guagua0407Vision Program (IOI19_vision)C++20
26 / 100
7 ms1732 KiB
#include "vision.h" //#include "grader.cpp" #include <bits/stdc++.h> using namespace std; #define ll long long #define pii pair<int,int> #define f first #define s second #define all(x) x.begin(),x.end() #define _ ios::sync_with_stdio(0); cin.tie(0); cout.tie(0); void construct_network(int n, int m, int k) { vector<int> X(n+m-1),Y(n+m-1); for(int x=0;x<n+m-1;x++){ vector<int> tmp; for(int i=0;i<n;i++){ int j=x-i; if(j<0 or j>=m) continue; tmp.push_back({i*m+j}); } X[x]=add_or(tmp); } for(int x=-(m-1);x<n;x++){ vector<int> tmp; for(int i=0;i<n;i++){ int j=i-x; if(j<0 or j>=m) continue; tmp.push_back({i*m+j}); } Y[x+m-1]=add_or(tmp); } auto go=[&](int K){ int xx,yy; { vector<int> ok; for(int x=0;x+K<n+m-1;x++){ vector<int> tmp; for(int i=x;i<=x+K;i++){ tmp.push_back(X[i]); } ok.push_back(add_and({add_or(tmp),add_not(add_xor(tmp))})); } xx=add_or(ok); } { vector<int> ok; for(int x=0;x+K<n+m-1;x++){ vector<int> tmp; for(int i=x;i<=x+K;i++){ tmp.push_back(Y[i]); } ok.push_back(add_and({add_or(tmp),add_not(add_xor(tmp))})); } yy=add_or(ok); } return add_and({xx,yy}); }; int a=go(k); int b=go(k-1); int c=add_not(b); add_and({a,c}); }
#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...