Submission #346383

#TimeUsernameProblemLanguageResultExecution timeMemory
346383dooweyBuilding Skyscrapers (CEOI19_skyscrapers)C++14
8 / 100
188 ms34532 KiB
#include <bits/stdc++.h> using namespace std; typedef long long ll; typedef pair<int, int> pii; #define fi first #define se second #define mp make_pair #define fastIO ios::sync_with_stdio(false);cin.tie(0);cout.tie(0); int dir[8][2] = {{-1,-1},{-1,0},{-1,+1},{0,-1},{0,+1},{+1,-1},{+1,0},{+1,+1}}; map<pii,int> indx; map<pii,int> active; set<pii> nt; vector<pii> fin; void dfs(pii chk){ active[chk]=true; fin.push_back(chk); pii nx; for(int dv = 0; dv < 8; dv ++ ){ nx = mp(chk.fi + dir[dv][0], chk.se + dir[dv][1]); if(nt.count(nx)){ nt.erase(nx); dfs(nx); } } } int main(){ fastIO; int n; cin >> n; int ty; cin >> ty; int ii, jj; vector<pii> ord; for(int i = 1; i <= n; i ++) { cin >> ii >> jj; ord.push_back(mp(ii,jj)); indx[mp(ii,jj)]=i; } sort(ord.begin(), ord.end()); fin.push_back(ord[0]); active[ord[0]]=true; bool go; pii nx; for(int i = 1; i < ord.size(); i ++ ){ go = false; for(int v = 0; v < 8; v ++ ){ nx = mp(ord[i].fi+dir[v][0],ord[i].se+dir[v][1]); if(active[nx]) go = true; } if(go){ dfs(ord[i]); } else{ nt.insert(ord[i]); } } if(!nt.empty()){ cout << "NO\n"; } else{ cout << "YES\n"; for(auto x : fin){ cout << indx[x] << " "; } } return 0; }

Compilation message (stderr)

skyscrapers.cpp: In function 'int main()':
skyscrapers.cpp:52:22: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::pair<int, int> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   52 |     for(int i = 1; i < ord.size(); i ++ ){
      |                    ~~^~~~~~~~~~~~
#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...