题解:P13059 [GCJ 2020 #1C] Overexcited Fan
_fallen_leaves_ · · 题解
P13059 [GCJ 2020 #1C] Overexcited Fan
题意
有一个人在一个标轴上走,给定你的初始坐标,与这个人的行进方向,问你最少要走多少步才能遇到这个人。
思路
分别考虑每一个时间,算出这个人的坐标轴与你跟他差多少个格子,如果在
#include<bits/stdc++.h>
#define int long long
using namespace std;
int t,tim=1;
signed main()
{
cin>>t;
while(t--)
{
int x,y;
string s;
cin>>x>>y>>s;
int xx=0,yy=0,flag=0;
for(int i=0;i<s.size();i++)
{
if(s[i]=='S') yy++;
else if(s[i]=='N') yy--;
else if(s[i]=='E') xx--;
else if(s[i]=='W') xx++;
if(abs(x-xx)+abs(y-yy)<=i+1)
{
flag=i+1;
break;
}
}
if(flag) cout<<"Case #"<<tim<<": "<<flag<<"\n";
else cout<<"Case #"<<tim<<": IMPOSSIBLE\n";
tim++;
}
return 0;
}