陶荣杰1
(Chtholly)
1
#include<bits/stdc++.h>
using namespace std;
struct node{
double x,y;
}ant[55];
int n,dsum;//死了多少
string antm;
bool isd[60]={0};//蚂蚁是否死了
queue<int> q;
int main(){
cin>>n;
cin>>antm;
for(int i=1;i<=n;i++){
cin>>ant[i].x>>ant[i].y;
}
for(int t=1;t<=40000;t++){
for(int i=0;i<n;i++){
if(!isd[i+1]){
if(antm[i]=='N')ant[i+1].y+=0.5;
if(antm[i]=='E') ant[i+1].x+=0.5;
if(antm[i]=='S') ant[i+1].y-=0.5;
if(antm[i]=='W') ant[i+1].x-=0.5;
}
}
for(int a=1;a<=n;a++){
if(!isd[a]){
for(int b=a+1;b<=n;b++){
if(!isd[b]){
if(ant[a].x==ant[b].x&&ant[a].y==ant[b].y){//撞死了
q.push(a);
q.push(b);
}
}
}
}
}
while(!q.empty()){
if(!isd[q.front()]) dsum++;
isd[q.front()]=1;
q.pop();
}
}
cout<<n-dsum;
return 0;
}