제출 #365404

#제출 시각아이디문제언어결과실행 시간메모리
365404CodeKrackerVision Program (IOI19_vision)C++14
12 / 100
7 ms2404 KiB
/*input */ /** Author: Kristopher Paul Date Created: 11-02-2021 **/ #include<bits/stdc++.h> #include<stdio.h> //#include<unordered_map> //#include <ext/pb_ds/assoc_container.hpp> //#include <ext/pb_ds/tree_policy.hpp> #define ll long long //#define int ll #define pb push_back #define INF 1e18 #define MOD 1000000007 //#define MOD 998244353 #define mp make_pair const double PI=3.141592653589793238462643383279502884197169399375105820974944; #define REP(i,n) for (int i = 0; i < n; i++) #define FOR(i,a,b) for (int i = a; i < b; i++) #define REPD(i,n) for (int i = n-1; i >= 0; i--) #define FORD(i,a,b) for (int i = a; i >= b; i--) #define remax(a,b) a = max(a,b) #define remin(a,b) a = min(a,b) #define umap map #define pii pair<int,int> #define F first #define S second #define mii map<int,int> #define vi vector<int> #define vvi vector<vi> #define itr :: iterator it #define all(v) v.begin(),v.end() #define WL(t) while(t--) #define gcd(a,b) __gcd((a),(b)) #define lcm(a,b) ((a)*(b))/gcd((a),(b)) #define out(x) cout << #x << " is " << x << endl #define FastIO ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0); using namespace std; //using namespace __gnu_pbds; //typedef tree<int,null_type,less<int>,rb_tree_tag,tree_order_statistics_node_update> pbds; // set //typedef tree<int,null_type,less_equal<int>,rb_tree_tag,tree_order_statistics_node_update> pbds; // multiset int ModExp(int x,int y,int m){ int res = 1; x = x % m; while (y > 0) { if (y & 1) res = (res*x) % m; y = y>>1; x = (x*x) % m; } return res; } int add_and(vi vec); int add_or(vi vec); void construct_network(int h,int w,int k){ if(min(h,w) == 1){ vi vec; FOR(i,0,(h*w)-k){ int ind = add_and({i,i+k}); vec.pb(ind); } add_or(vec); return; } vi vec; umap<int,umap<int,bool> > done; FOR(i,0,h){ FOR(j,0,w){ int rs = i-k; int re = i+k; vi cur; FOR(l,max(rs,0),min(re+1,h)){ int v = (k-abs(i-l)); if((j-v) >= 0 && (j-v) < w && !done[i*w+j][l*w+(j-v)]){ //int ind = add_and({i*w+j,l*w+(j-v)}); cur.pb(l*w+(j-v)); done[i*w+j][l*w+(j-v)] = true; done[l*w+(j-v)][i*w+j] = true; //vec.pb(ind); } if((j+v) >= 0 && (j+v) < w && v != 0 && !done[i*w+j][l*w+(j+v)]){ //int ind = add_and({i*w+j,l*w+(j+v)}); cur.pb(l*w+(j+v)); done[i*w+j][l*w+(j+v)] = true; done[l*w+(j+v)][i*w+j] = true; //vec.pb(ind); } } int ind = add_and({i*w+j,add_or(cur)}); vec.pb(ind); } } add_or(vec); return; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...