이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include "vision.h"
#include <bits/stdc++.h>
using namespace std;
#define pb push_back
const int N=405;
int n,m,k;
int d1[N],d2[N],x1[N],x2[N];
int Get(int x, int y){ return (x-1)*m+y-1;}
int Get(pair<int,int> p){ return Get(p.first,p.second);}
bool Valid(int x, int y){ return x>=1 && x<=n && y>=1 && y<=m;}
bool Valid(pair<int,int> p){ return Valid(p.first,p.second);}
void construct_network(int H, int W, int K)
{
n=H;m=W;k=K;
pair<int,int> fir={1,m};
int l1=0,l2=0;
while(++l1)
{
vector<int> diag;
pair<int,int> cur=fir;
do
{
diag.pb(Get(cur));
cur.first++;
cur.second++;
}while(Valid(cur));
d1[l1]=add_or(diag);
x1[l1]=add_not(add_xor(diag));
if(fir.second==1) fir.first++;
else fir.second--;
if(!Valid(fir)) break;
}
fir={n,m};
while(++l2)
{
vector<int> diag;
pair<int,int> cur=fir;
do
{
diag.pb(Get(cur));
cur.first++;
cur.second--;
}while(Valid(cur));
d2[l2]=add_or(diag);
x2[l2]=add_not(add_xor(diag));
if(fir.first==1) fir.second--;
else fir.first--;
if(!Valid(fir)) break;
}
vector<int> _or;
for(int i=1;i+k<=l1;i++) _or.pb(add_and({d1[i],d1[i+k]}));
int eq=add_or(_or);
_or.clear();
for(int i=1;i<=l2;i++)
{
vector<int> tmp;
for(int j=i+1;j<=min(i+k,l2);j++) tmp.pb(d2[j]);
tmp.pb(x2[i]);
_or.pb(add_and({d2[i],add_or(tmp)}));
}
int le=add_or(_or);
int f=add_and({eq,le});
_or.clear();
for(int i=1;i+k<=l2;i++) _or.pb(add_and({d2[i],d2[i+k]}));
eq=add_or(_or);
_or.clear();
for(int i=1;i<=l1;i++)
{
vector<int> tmp;
for(int j=i+1;j<=min(i+k,l1);j++) tmp.pb(d1[j]);
tmp.pb(x1[i]);
_or.pb(add_and({d1[i],add_or(tmp)}));
}
le=add_or(_or);
int s=add_and({eq,le});
add_or({f,s});
}
# | 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... |