#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);
int D[]={-1,-1,1,1};
int C[]={-1,1,1,-1};
const int N=210;
int it;
int id[N][N];
void construct_network(int m, int n, int w){
forinc(i,1,m) forinc(j,1,n) id[i][j]=it++;
vector<ii> val;
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+t*C[l];
if(1<=x&&x<=m&&1<=y&&y<=n){
int u=id[i][j], v=id[x][y];
val.push_back({min(u,v),max(u,v)});
}
}
}
}
}
sort(all(val)); val.erase(unique(all(val)),val.end());
vector<int> ask;
forv(i,val){
add_and({i.fi,i.se});
ask.push_back(it++);
}
add_or(ask);
}
#ifdef UNX
int m,n,w;
main(){
#define task "TASK"
if(fopen(task".inp","r")){
freopen(task".inp","r",stdin);
//freopen(task".out","w",stdout);
}
construct_network(30,30,8);
}
#endif // UNX
Compilation message
vision.cpp: In function 'void construct_network(int, int, int)':
vision.cpp:33:21: warning: unused variable 'k' [-Wunused-variable]
int k=w-t;
^
vision.cpp:47:9: error: 'add_and' was not declared in this scope
add_and({i.fi,i.se});
^~~~~~~
vision.cpp:50:5: error: 'add_or' was not declared in this scope
add_or(ask);
^~~~~~
vision.cpp:50:5: note: suggested alternative: 'rand_r'
add_or(ask);
^~~~~~
rand_r