Submission #943894

#TimeUsernameProblemLanguageResultExecution timeMemory
943894vjudge1Building Skyscrapers (CEOI19_skyscrapers)C++17
8 / 100
141 ms13004 KiB
#include <bits/stdc++.h> #define int long long #define ff first #define ss second #define pb push_back #define all(x) x.begin(),x.end() using namespace std; signed main(){ ios_base::sync_with_stdio(); cin.tie(0);cout.tie(0); int n,t; cin>>n>>t; vector <int> x(n),y(n); map <pair <int,int> ,int> mp,ind; for(int i=0;i<n;i++){ cin>>x[i]>>y[i]; mp[{x[i],y[i]}]=1; ind[{x[i],y[i]}]=i+1; } queue <pair <int,int> > q; vector <int> v={-1,1,0}; q.push({x[0],y[0]}); mp[{x[0],y[0]}]=2; vector <int> ans; while(!q.empty()){ int X=q.front().ff; int Y=q.front().ss; ans.pb(ind[{X,Y}]); q.pop(); for(auto a : v){ for(auto b : v){ if(mp[{X+a,Y+b}]==1){ mp[{X+a,Y+b}]=2; q.push({X+a,Y+b}); } } } } bool ok=1; for(int i=0;i<n;i++){ if(mp[{x[i],y[i]}]==1){ ok=0;break; } } if(ok){ cout<<"YES\n"; for(auto x : ans)cout<<x<<" "; cout<<"\n"; } else cout<<"NO\n"; } /* */
#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...