제출 #1134372

#제출 시각아이디문제언어결과실행 시간메모리
1134372AiperiiiNaval battle (CEOI24_battle)C++20
20 / 100
3095 ms27032 KiB
#include <bits/stdc++.h>
#define int long long
#define pb push_back
#define ff first
#define ss second
#define all(x) x.begin(),x.end()
using namespace std;
const int N=2e5+5;
vector <int> ind[4];

signed main(){
    
    ios_base::sync_with_stdio(0);
    cin.tie(0);cout.tie(0);
    
    int n;
    cin>>n;
    
    vector <int> x(n),y(n),ok(n,1);
    vector <char> d(n);
    
    
    for(int i=0;i<n;i++){
        cin>>x[i]>>y[i]>>d[i];
        
        
    }
    map <pair <int,int> , vector <int>> mp;
    for(int tt=0;tt<=1e5;tt++){
        
        for(int i=0;i<n;i++){
            if(ok[i]){
                if(d[i]=='W'){
                    x[i]--;
                }
                else if(d[i]=='E'){
                    x[i]++;
                }
                else if(d[i]=='S'){
                    y[i]++;
                }
                else{
                    y[i]--;
                }
                mp[{x[i],y[i]}].pb(i);
            }
        }
        for(auto x : mp){
            //cout<<x.ff.ff<<" "<<x.ff.ss<<"\n";
            if(x.ss.size()>1){
                
                for(auto i : x.ss){
                    //cout<<i<<" ";
                    ok[i]=0;
                }
            }
           // cout<<"\n";
        }
        mp.clear();
    }
    for(int i=0;i<n;i++){
        if(ok[i])cout<<i+1<<"\n";
    }
}
/*

*/
#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...