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 <bits/stdc++.h>
using namespace std;
#define in ({int x=0;int c=getchar(),n=0;for(;!isdigit(c);c=getchar()) n=(c=='-');for(;isdigit(c);c=getchar()) x=x*10+c-'0';n?-x:x;})
mt19937 rng(chrono::steady_clock::now().time_since_epoch().count());
int rnd(int l,int r){return l+rng()%(r-l+1);}
#define fasty ios_base::sync_with_stdio(0),cin.tie(0);
#define forinc(a,b,c) for(int a=b,_c=c;a<=_c;++a)
#define fordec(a,b,c) for(int a=b,_c=c;a>=_c;--a)
#define forv(a,b) for(auto&a:b)
#define fi first
#define se second
#define pb push_back
#define ii pair<int,int>
#define mt make_tuple
#define all(a) a.begin(),a.end()
#define reset(f, x) memset(f, x, sizeof(f))
#define gg exit(0);
#ifndef UNX
#include "vision.h"
#endif
int D[]={-1,-1,1,1};
int C[]={-1,1,1,-1};
const int N=210;
int it;
int id[N][N];
#ifdef UNX
int is[N*N];
int add_and(vector<int> a){
int ret=1;
forv(i,a){
ret&=is[i];
//cout<<i<<" ";
}
//cout<<"\n";
return ret;
}
int add_or(vector<int> a){
int ret=0;
forv(i,a){
ret|=is[i];
//cout<<i<<" ";
}
//cout<<"\n";
return ret;
}
int add_not(int x){
return !is[x];
}
#endif
void construct_network(int m, int n, int w){
forinc(i,1,m) forinc(j,1,n) id[i][j]=it++;
vector<ii> val;
vector<int> fin, ask;
int tot=0;
forinc(i,1,m){
forinc(j,1,n){
forinc(t,0,w){
int k=w-t;
forinc(l,0,3){
int x=i+t*D[l], y=j+k*C[l];
if(x>i) continue;
if(1<=x&&x<=m&&1<=y&&y<=n){
ask.push_back(id[x][y]);
tot++;
}
}
}
if(ask.size()){
fin.push_back(add_and({add_or(ask),id[i][j]}));
ask.clear();
}
}
}
//cerr<<tot<<"\n";
add_or(fin);
}
#ifdef UNX
int m,n,w;
int dd[N][N];
main(){
#define task "TASK"
if(fopen(task".inp","r")){
freopen(task".inp","r",stdin);
//freopen(task".out","w",stdout);
}
m=100,n=100,w=80;
construct_network(m,n,w);
}
#endif // UNX
# | 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... |