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 "vision.h"
#include <bits/stdc++.h>
using namespace std;
#define rep(n) for (int i=0; i<n; i++)
#define jrep(n) for (int j=0; j<n; j++)
bool valasz[50005];
const int c=402, f=399;
int pos, os[c], osk[c], oseg[c], kul[c], kulk[c], kseg[c], eos, ekul, van, s, nincs, rossz, db, p;
vector<int> sol;
void pb(int a) {
sol.push_back(a);
}
int add(int a) {
pos++;
if (sol.size()==0) pb(rossz);
if (a==1) add_or(sol);
if (a==2) add_and(sol);
if (a==3) add_xor(sol);
if (a==4) add_not(p);
/*
cout << sol.size() << " " << a << "\n";
rep(sol.size()) cout << sol[i] << " ";
cout << "\n";
*/
if (a==4) valasz[pos]=!(valasz[p]);
else {
int si=sol.size(), db=0;
rep(si) db+=valasz[sol[i]];
if (a==1) valasz[pos]=(db>0);
if (a==2) valasz[pos]=(db==si);
if (a==3) valasz[pos]=(db%2);
}
sol.clear();
return pos;
}
int solve(int k) {
rep(f-k) {
pb(eos), pb(osk[i]), pb(osk[i+k]);
oseg[i]=add(2);
pb(ekul), pb(kulk[i]), pb(kulk[i+k]);
kseg[i]=add(2);
}
rep(f-k) pb(oseg[i]);
oseg[0]=add(1);
rep(f-k) pb(kseg[i]);
kseg[0]=add(1);
pb(oseg[0]), pb(kseg[0]);
return add(1);
}
void construct_network(int n, int m, int k) {
pos=n*m-1, db=n*m;
rep(db) pb(i);
rossz=add(3);
rep(f) {
int ert=i;
rep(db) {
int x=i/m, y=i%m;
if (x+199-y==ert) pb(i);
}
kul[ert]=add(1);
rep(db) {
int x=i/m, y=i%m;
if (x+y==ert) pb(i);
}
os[ert]=add(1);
if (!i) kulk[i]=kul[i], osk[i]=os[i];
else {
pb(kulk[i-1]), pb(kul[i]);
kulk[i]=add(3);
pb(osk[i-1]), pb(os[i]);
osk[i]=add(3);
}
}
p=kulk[f-1], ekul=add(4);
p=osk[f-1], eos=add(4);
nincs=solve(k-1), van=solve(k);
pb(van), pb(nincs);
add(3);
}
/*
int b1, b2, b3, x, y;
int main()
{
cin >> b1 >> b2 >> b3 >> x >> y;
valasz[x]=1, valasz[y]=1;
construct_network(b1, b2, b3);
//rep(pos+1) cout << i << " " << valasz[i] << endl;
cout << valasz[pos] << "\n";
return 0;
}
*/
/*
1 26 24 1 25
*/
// prefix suffix 2-10 lehet 8 vagy 17 a függvény alapján
# | 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... |