제출 #755705

#제출 시각아이디문제언어결과실행 시간메모리
755705Rafi22Vision Program (IOI19_vision)C++14
100 / 100
17 ms1708 KiB
#include <bits/stdc++.h> #include "vision.h" using namespace std; #define endl '\n' #define st first #define nd second #define pb push_back #define sz(x) (int)(x).size() #define all(x) (x).begin(), (x).end() #define ll long long ll mod=1000000007; int inf=1000000007; ll infl=1000000000000000007; int it; bool mem[100007]; const int N=207; int orX[N]; int pX[N]; int orY[N]; int pY[N]; vector<int>add(vector<int>V,int k) { vector<int>res; res.pb(add_xor({V[0],k})); int w=add_and({V[0],k}); for(int i=1;i<=8;i++) { res.pb(add_xor({V[i],w})); w=add_and({V[i],w}); } return res; } void construct_network(int n,int m,int k) { it=n*m-1; int N=add_not(0); for(int i=0;i<n;i++) { vector<int>V; for(int j=0;j<m;j++) V.pb(i*m+j); orX[i]=add_xor(V); } //for(int i=0;i<n;i++) cout<<mem[orX[i]]<<" "; // cout<<endl; pX[0]=add_and({0,N}); for(int i=1;i<=n;i++) pX[i]=add_xor({pX[i-1],orX[i-1]}); for(int j=0;j<m;j++) { vector<int>V; for(int i=0;i<n;i++) V.pb(i*m+j); orY[j]=add_xor(V); } // for(int j=0;j<m;j++) cout<<mem[orY[j]]<<" "; // cout<<endl; pY[0]=add_and({0,N}); for(int j=1;j<=m;j++) pY[j]=add_xor({pY[j-1],orY[j-1]}); vector<int>ans; for(int i=0;i<=8;i++) ans.pb(add_and({0,N})); for(int i=1;i<=n;i++) ans=add(ans,pX[i]); for(int j=1;j<=m;j++) ans=add(ans,pY[j]); int Z=add_and({0,N}); int O=add_not(Z); vector<int>wyn; for(int i=0;i<=8;i++) { if(k&(1<<i)) wyn.pb(add_xor({Z,ans[i]})); else wyn.pb(add_xor({O,ans[i]})); } add_and(wyn); // cout<<mem[add_and(wyn)]<<endl; } /* int main() { int n,m,k; cin>>n>>m>>k; for(int i=0;i<n;i++) { for(int j=0;j<m;j++) { cin>>mem[i*m+j]; } } construct_network(n,m,k); return 0; }*/
#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...