# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
297387 | kshitij_sodani | Vision Program (IOI19_vision) | C++14 | 24 ms | 2492 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include <bits/stdc++.h>
using namespace std;
typedef long long llo;
#define a first
#define b second
#define pb push_back
#include "vision.h"
void construct_network(int n, int m, int k) {
int cur=n*m;
vector<int> de;
for(int i=0;i<n*m;i++){
de.pb(i);
}
add_or(de);
int extra=cur;//extra 1 if needed in xor
cur++;
vector<int> aa;
for(int i=0;i<n;i++){
vector<int> kk;
for(int j=0;j<m;j++){
kk.pb(i*m+j);
}
add_or(kk);
aa.pb(cur);
cur++;
}
vector<int> aa2;
for(int i=0;i<n;i++){
vector<int> kk;
for(int j=0;j<=i;j++){
kk.pb(aa[j]);
}
add_xor(kk);
aa2.pb(cur);
cur++;
}
add_not(aa2.back());
//return ;
int xx=cur;
cur++;
vector<int> rr;
for(int i=0;i<n;i++){
add_and({xx,aa2[i]});
rr.pb(cur);
cur++;
}
//column
vector<int> bb;
for(int i=0;i<m;i++){
vector<int> kk;
for(int j=0;j<n;j++){
kk.pb(i+j*m);
}
add_or(kk);
bb.pb(cur);
cur++;
}
// return;
vector<int> bb2;
for(int i=0;i<m;i++){
vector<int> kk;
for(int j=0;j<=i;j++){
kk.pb(bb[j]);
}
add_xor(kk);
bb2.pb(cur);
cur++;
}
//return ;
add_not(bb2.back());
int yy=cur;
cur++;
vector<int> cc;
for(int i=0;i<m;i++){
add_and({yy,bb2[i]});
cc.pb(cur);
cur++;
}
//return;
vector<int> mm=rr;
for(auto j:cc){
mm.pb(j);
}
vector<int> pos;
for(int i=0;i<9;i++){
add_xor(mm);
pos.pb(cur);
cur++;
if(i<8){
vector<int> kop;
int prev=extra;
for(int j=0;j<mm.size();j++){
add_xor({prev,mm[j]});
prev=cur;
cur++;
add_and({mm[j],cur-1});
kop.pb(cur);
cur++;
}
mm=kop;
}
}
add_not(extra);
int ext2=cur;
cur++;
vector<int> pp;
for(int i=0;i<9;i++){
if(k&(1<<i)){
add_xor({extra,pos[i]});
pp.pb(cur);
}
else{
add_xor({ext2,pos[i]});
pp.pb(cur);
}
}
add_or(pp);
cur++;
add_not(cur-1);
}
Compilation message (stderr)
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |