Submission #1246104

#TimeUsernameProblemLanguageResultExecution timeMemory
1246104KindaGoodGamesBuilding Skyscrapers (CEOI19_skyscrapers)C++20
8 / 100
200 ms9284 KiB
#include<bits/stdc++.h> using namespace std; #define pii pair<int,int> #define tiii tuple<int,int,int> vector<pii> dirs = {{1,0},{-1,0},{0,1},{0,-1},{1,1},{-1,1},{1,-1},{-1,-1},}; int main(){ int n, t; cin >> n >> t; map<pii,int> occ; vector<tiii> arr(n); for(int i = 0; i < n; i++){ int r,c; cin >> r >> c; arr[i] = {r,c,i}; occ[{r,c}] = i; } set<pii> vis; queue<pii> q; q.push((*(occ.begin())).first); vector<int> ans; while(q.size()){ int r,c; tie(r,c) = q.front(); q.pop(); if(!occ.count({r,c}) || vis.count({r,c})) { continue; } ans.push_back(occ[{r,c}]); vis.insert({r,c}); for(pii p : dirs){ q.push({r+p.first,c + p.second}); } } if(vis.size() != n){ cout << "NO" << endl; return 0; } cout << "YES\n"; sort(arr.begin(),arr.end()); for(int i = 0; i < n; i++){ cout << ans[i]+1 << endl; } }
#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...