#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 && j;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 && t;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])});
}
Compilation message
vision.cpp: In function 'int aand(std::vector<int>)':
vision.cpp:32:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
vision.cpp: In function 'int axor(std::vector<int>)':
vision.cpp:37:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
vision.cpp: In function 'int aor(std::vector<int>)':
vision.cpp:42:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Incorrect |
2 ms |
376 KB |
on inputs (0, 1), (0, 2), expected 1, but computed 0 |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Incorrect |
2 ms |
376 KB |
on inputs (0, 1), (0, 2), expected 1, but computed 0 |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Incorrect |
2 ms |
376 KB |
on inputs (0, 1), (0, 2), expected 1, but computed 0 |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Incorrect |
2 ms |
376 KB |
on inputs (0, 1), (0, 2), expected 1, but computed 0 |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Incorrect |
5 ms |
760 KB |
on inputs (0, 1), (0, 2), expected 1, but computed 0 |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Incorrect |
2 ms |
348 KB |
on inputs (0, 0), (0, 1), expected 1, but computed 0 |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Incorrect |
6 ms |
2160 KB |
WA in grader: Too many instructions |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Incorrect |
2 ms |
376 KB |
on inputs (0, 1), (0, 2), expected 1, but computed 0 |
2 |
Halted |
0 ms |
0 KB |
- |