제출 #1220309

#제출 시각아이디문제언어결과실행 시간메모리
1220309KindaGoodGamesNaval battle (CEOI24_battle)C++20
0 / 100
3095 ms2628 KiB
#include<bits/stdc++.h> using namespace std; #define tiii tuple<int,int,char> #define pii pair<int,int> #define pci pair<char,int> tiii move(tiii t){ int x,y,d; tie(x,y,d) = t; if(d == 'N'){ y++; } if(d == 'E'){ x++; } if(d == 'S'){ y--; } if(d == 'W'){ x--; } tiii r = {x,y,d}; return r; } int main(){ int n; cin >> n; vector<tiii> arr(n); for(int i = 0; i < n; i++){ int x,y,d; cin >> x >> y >> d; arr[i] = {x,y,d}; } map<pii, pci> pos; for(int i = 0; i < n; i++){ int x,y,d; tie(x,y,d) = arr[i]; pos[{x,y}] = {d,i}; } vector<bool> sunk(n); for(int t = 0; t <= 10000; t++){ map<pii, pci> npos; for(int i = 0; i < n; i++){ int x,y,d; tiii nxt = move(arr[i]); tie(x,y,d) = nxt; if(npos.count({x,y})){ sunk[i] = true; sunk[pos[{x,y}].second] = true; npos.erase({x,y}); }else{ npos[{x,y}] = {d,i}; } } pos = npos; } for(auto u : pos){ cout << u.second.second+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...
#Verdict Execution timeMemoryGrader output
Fetching results...