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;
typedef long long ll;
#define pb push_back
#define F first
#define S second
#define enter cout<<'\n';
#define INF 99999999999999999
#define MOD 1000000007
#define all(x) x.begin(),x.end()
void construct_network(int H, int W, int K)
{
ll idx=0;
for(int i=0;i<H;i++)
for(int j=0;j<W;j++)
{
vector<int>Ns;
Ns.pb(i*W+j);
add_and({i*W+j});
int curr=K;
while(curr>=0)
{
if(j+curr>=W || i+(K-curr)>=H)
{
curr--;
continue;
}
Ns.pb(W*(i+K-curr)+j+curr);
curr--;
}
curr=1;
while(curr<K)
{
if(j-curr<0 || i+(K-curr)>=H)
{
curr++;
continue;
}
Ns.pb(W*(i+K-curr)+j+curr);
idx++;
curr++;
}
add_xor(Ns);
add_not(idx+1);
idx+=3;
}
vector<int>ans;
ll idxn=idx;
for(int i=W*H;i<W*H+idx;i+=3)
{
add_and({i,i+2});
idxn++;
}
for(int i=W*H+idx;i<W*H+idx+idxn;i++)
ans.pb(i);
add_or(ans);
}
# | 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... |