http://codeforces.com/problemset/problem/735/A
题意:
一只蚂蚱在路上蹦,输入路的长度n和蚂蚱每次蹦的距离k,在这条路上,蚂蚱只能落在'.'上,不能落在'#'上,蚂蚱从G开始蹦,若能蹦到T,输出YES,否则NO。
代码:
#include <iostream>
#include <cstring>
using namespace std;
char ch[1000];
int flag=0;
int n,k;
int be,en;
int main()
{
cin>>n>>k;
for(int i=1;i<=n;i++)
{
cin>>ch[i];
if(ch[i]=='G')
be=i;
if(ch[i]=='T')
en=i;
}
if(be>en)
be^=en^=be^=en;
for(int i=be;i<=en;i+=k)
{
if(i==en)
{
flag=1;
cout<<"YES"<<endl;
}
else if(ch[i]=='#')
{
break;
}
}
if(!flag)
cout<<"NO"<<endl;
return 0;
}