제출 #955142

#제출 시각아이디문제언어결과실행 시간메모리
9551428pete8Vision Program (IOI19_vision)C++17
12 / 100
5 ms860 KiB
#include "vision.h" #include<iostream> #include<stack> #include<map> #include<vector> #include<string> #include<unordered_map> #include <queue> #include<cstring> #include<limits.h> #include <cassert> #include<cmath> #include<set> #include<algorithm> #include <iomanip> #include<numeric> //gcd(a,b) #include<bitset> using namespace std; #define ll long long #define f first #define endl "\n" #define s second #define pii pair<int,int> #define ppii pair<int,pii> #define vi vector<int> #define pb push_back #define all(x) x.begin(),x.end() #define rall(x) x.rbegin(),x.rend() #define F(n) for(int i=0;i<n;i++) #define lb lower_bound #define ub upper_bound #define fastio ios::sync_with_stdio(false);cin.tie(NULL); #pragma GCC optimize ("03,unroll-loops") using namespace std; void construct_network(int h, int w, int k){ vector<int>ans; auto valid=[&](int a,int b){ if(a<0||b<0||a>=h||b>=w)return false; return true; }; auto get=[&](int a,int b){return a*w+b;}; auto dist=[&](int a,int b,int x,int y){return abs(a-x)+abs(b-y);}; vector<vector<bool>>done(h+1,vector<bool>(w+1,0)); auto getdiag=[&](int a,int b,int x,int y,vector<int>&v,int mode){ while(dist(a,b,x,y)==k){ if(valid(a,b)){ done[a][b]=1; v.pb(get(a,b)); } if(mode)a--,b--; else a++,b--; } }; for(int i=0;i<h;i++)for(int j=0;j<w;j++){ if(done[i][j])continue; vector<int>v; if(h>30&&w>30){ getdiag(i,j+k,i,j,v,1); getdiag(i,j+k,i,j,v,0); if(!v.size()){ int x=add_or(v); x=add_and({get(i,j),x}); } return; } getdiag(i+k,j,i,j,v,1); getdiag(i-k,j,i,j,v,0); getdiag(i,j+k,i,j,v,1); getdiag(i,j+k,i,j,v,0); if(!v.empty()){ int x=add_or(v); ans.pb(add_and({get(i,j),x})); } } add_or(ans); return; }/* int32_t main(){ int a,b,k;cin>>a>>b>>k; construct_network(a,b,k); }*/
#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...