Submission #260429

#TimeUsernameProblemLanguageResultExecution timeMemory
260429stefantagaBuilding Skyscrapers (CEOI19_skyscrapers)C++14
8 / 100
45 ms1280 KiB
#include <bits/stdc++.h> using namespace std; int dl[]={1,1,1,0,0,-1,-1,-1}; int dc[]={-1,0,1,-1,1,1,-1,0}; int n,t,i,sol[150005],nr,fr[150005],j; pair <int,int> loc,b; queue <int> q; struct wow { int x,y; }v[150005]; int main() { #ifdef HOME ifstream cin("date.in"); ofstream cout("date.out"); #endif // HOME cin>>n; cin>>t; for (i=1;i<=n;i++) { cin>>v[i].x>>v[i].y; } if (t==1) { q.push(1); sol[++nr]=1; fr[1]=1; while (!q.empty()) { loc={v[q.front()].x,v[q.front()].y}; q.pop(); for (i=0;i<8;i++) { b.first=loc.first+dl[i]; b.second=loc.second+dc[i]; for (j=1;j<=n;j++) { if (b.first==v[j].x&&b.second==v[j].y&&fr[j]==0) { sol[++nr]=j; fr[j]=1; q.push(j); } } } } for (j=1;j<=n;j++) { if (fr[j]==0) { cout<<"NO"; return 0; } } cout<<"YES"<<'\n'; for (i=1;i<=n;i++) { cout<<sol[i]<<'\n'; } } return 0; }
#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...