#include "vision.h"
#pragma GCC target("avx2")
#pragma GCC optimize("O3")
#pragma GCC optimize("unroll-loops")
#include <bits/stdc++.h>
#define rc(x) return cout<<x<<endl,0
#define pb push_back
#define mkp make_pair
#define in insert
#define er erase
#define fd find
#define fr first
#define sc second
typedef long long ll;
typedef long double ld;
const ll INF=0x3f3f3f3f3f3f3f3f;
const ll llinf=(1LL<<62);
const int inf=(1<<30);
const int nmax=1e5+50;
const int mod=1e9+7;
using namespace std;
int h,w,k,i,j,t,tp,a[250][250],x,y;
vector<int>rd1,rd2,ld1,ld2,ndr,ndl,vc,vc1,fin;
int anot(int x)
{
return add_not(x);
}
int aand(vector<int>x)
{
//if(!x.empty())
return add_and(x);
}
int axor(vector<int>x)
{
//if(!x.empty())
return add_xor(x);
}
int aor(vector<int>x)
{
//if(!x.empty())
return add_or(x);
}
void construct_network(int H,int W,int K)
{
h=H,w=W,k=K;
for(i=0;i<h;i++)for(j=0;j<w;j++)a[i][j]=i*w+j;
for(i=0;i<h;i++)
{
vc.clear();
for(j=0,t=i;j<w && t<h;j++,t++)vc.pb(a[t][j]);
rd1.pb(aor(vc));
x=aor(vc),y=axor(vc),y=anot(y);
rd2.pb(aand(vector<int>{x,y}));
}
for(j=1;j<w;j++)
{
vc.clear();
for(i=0,t=j;i<h && t<w;i++,t++)vc.pb(a[i][t]);
rd1.pb(aor(vc));
x=aor(vc),y=axor(vc),y=anot(y);
rd2.pb(aand(vector<int>{x,y}));
}
for(i=0;i<h;i++)
{
vc.clear();
for(j=w-1,t=i;t>=0 && j>=0;j--,t--)vc.pb(a[t][j]);
ld1.pb(aor(vc));
x=aor(vc),y=axor(vc),y=anot(y);
ld2.pb(aand(vector<int>{x,y}));
}
for(j=w-2;j>=0;j--)
{
vc.clear();
for(i=h-1,t=j;i>=0 && t>=0;i--,t--)vc.pb(a[i][t]);
ld1.pb(aor(vc));
x=aor(vc),y=axor(vc),y=anot(y);
ld2.pb(aand(vector<int>{x,y}));
}
for(tp=0;tp<2;tp++)
{
ndl.clear(),ndr.clear();
for(i=k;i<(int)rd1.size();i++)
{
vc.clear(),vc1.clear();
for(j=i;j>=i-k;j--)
{
vc.pb(rd1[j]);
vc1.pb(rd2[j]);
}
x=aor(vc),y=axor(vc),y=anot(y),y=aand(vector<int>{x,y}),vc1.pb(y);
ndr.pb(aor(vc1));
vc.clear(),vc1.clear();
for(j=i;j>=i-k;j--)
{
vc.pb(ld1[j]);
vc1.pb(ld2[j]);
}
x=aor(vc),y=axor(vc),y=anot(y),y=aand(vector<int>{x,y}),vc1.pb(y);
ndl.pb(aor(vc1));
}
x=aor(ndr),y=aor(ndl),fin.pb(aand(vector<int>{x,y}));
k--;
}
aand(vector<int>{fin[0],anot(fin[1])});
}
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
2 ms |
256 KB |
Output is correct |
2 |
Correct |
2 ms |
256 KB |
Output is correct |
3 |
Correct |
2 ms |
376 KB |
Output is correct |
4 |
Correct |
2 ms |
380 KB |
Output is correct |
5 |
Incorrect |
2 ms |
380 KB |
on inputs (0, 0), (0, 1), expected 1, but computed 0 |
6 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
2 ms |
256 KB |
Output is correct |
2 |
Correct |
2 ms |
256 KB |
Output is correct |
3 |
Correct |
2 ms |
376 KB |
Output is correct |
4 |
Correct |
2 ms |
380 KB |
Output is correct |
5 |
Incorrect |
2 ms |
380 KB |
on inputs (0, 0), (0, 1), expected 1, but computed 0 |
6 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
2 ms |
256 KB |
Output is correct |
2 |
Correct |
2 ms |
256 KB |
Output is correct |
3 |
Correct |
2 ms |
376 KB |
Output is correct |
4 |
Correct |
2 ms |
380 KB |
Output is correct |
5 |
Incorrect |
2 ms |
380 KB |
on inputs (0, 0), (0, 1), expected 1, but computed 0 |
6 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
2 ms |
256 KB |
Output is correct |
2 |
Correct |
2 ms |
256 KB |
Output is correct |
3 |
Correct |
2 ms |
376 KB |
Output is correct |
4 |
Correct |
2 ms |
380 KB |
Output is correct |
5 |
Incorrect |
2 ms |
380 KB |
on inputs (0, 0), (0, 1), expected 1, but computed 0 |
6 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
5 ms |
760 KB |
Output is correct |
2 |
Correct |
15 ms |
1784 KB |
Output is correct |
3 |
Correct |
17 ms |
1656 KB |
Output is correct |
4 |
Correct |
4 ms |
504 KB |
Output is correct |
5 |
Correct |
6 ms |
1012 KB |
Output is correct |
6 |
Correct |
15 ms |
1780 KB |
Output is correct |
7 |
Correct |
14 ms |
1656 KB |
Output is correct |
8 |
Correct |
4 ms |
760 KB |
Output is correct |
9 |
Correct |
5 ms |
760 KB |
Output is correct |
10 |
Correct |
13 ms |
1524 KB |
Output is correct |
11 |
Correct |
15 ms |
1660 KB |
Output is correct |
12 |
Correct |
15 ms |
1656 KB |
Output is correct |
13 |
Correct |
12 ms |
1400 KB |
Output is correct |
14 |
Correct |
3 ms |
504 KB |
Output is correct |
15 |
Correct |
6 ms |
1012 KB |
Output is correct |
16 |
Correct |
13 ms |
1652 KB |
Output is correct |
17 |
Correct |
16 ms |
1912 KB |
Output is correct |
18 |
Correct |
16 ms |
1788 KB |
Output is correct |
19 |
Correct |
13 ms |
1528 KB |
Output is correct |
20 |
Correct |
3 ms |
632 KB |
Output is correct |
21 |
Correct |
2 ms |
376 KB |
Output is correct |
22 |
Correct |
2 ms |
376 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Incorrect |
2 ms |
256 KB |
on inputs (0, 0), (0, 1), expected 1, but computed 0 |
2 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Incorrect |
6 ms |
2264 KB |
WA in grader: Too many instructions |
2 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
2 ms |
256 KB |
Output is correct |
2 |
Correct |
2 ms |
256 KB |
Output is correct |
3 |
Correct |
2 ms |
376 KB |
Output is correct |
4 |
Correct |
2 ms |
380 KB |
Output is correct |
5 |
Incorrect |
2 ms |
380 KB |
on inputs (0, 0), (0, 1), expected 1, but computed 0 |
6 |
Halted |
0 ms |
0 KB |
- |