제출 #1137542

#제출 시각아이디문제언어결과실행 시간메모리
1137542SyedSohaib_123Naval battle (CEOI24_battle)C++20
0 / 100
3072 ms373700 KiB
#include <bits/stdc++.h> using namespace std; #define append push_back #define int long long const int N=2e5+10,LG=20; int mod=1e9+7; void solve(int tst) { int n;cin>>n; vector<vector<int>>v(n+1); for(int i=1;i<=n;i++){ int a,b; cin>>a>>b; char c; cin>>c; v[i]={a,b,(c=='E')+(c=='S')*2+(c=='W')*3}; } map<int,map<int,int>>mp; vector<int>g(n+1,1); g[0]=0; for(int _=0;_<=1e5;_++){ vector<int>isd(n,0); isd[0]=0; for(int i=1;i<=n;i++){ int a=v[i][0]-(v[i][2]==3)+(v[i][2]==1),b=v[i][1]-(v[i][2]==0)+(v[i][2]==2); if(mp[v[i][0]][v[i][1]]==i) mp[v[i][0]][v[i][1]]=0; v[i][0]=a; v[i][1]=b; int x=mp[a][b]; if(x and (g[x] or isd[x]) and g[i]){ g[x]=g[i]=0; isd[i]=isd[x]=1; } if(g[i]) mp[a][b]=i; } } for(int i=1;i<=n;i++){ if(g[i]) cout<<i<<endl; } } signed main() { ios::sync_with_stdio(0); cin.tie(0);cout.tie(0); int t = 1; // cin >> t; for (int i = 0; i < t; i++) { solve(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...
#Verdict Execution timeMemoryGrader output
Fetching results...