link:http://codeforces.com/contest/735/problem/A
题意:
蚱蜢在一个1*n的盒子里,蚱蜢能一步跳k格,不能跳到“#”上但是可以跨过#。蚱蜢要到小昆虫所在的T点问可不可行。
解法:看看 T在不在可达范围内,然后排除路径上有#的情况
AC代码:
#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
using namespace std;
int main()
{
int n,k;
char q[105];
while((scanf("%d%d",&n,&k))!=EOF)
{
for(int i=0;i<n;i++)
{
cin>>q[i];
}
bool s=0;
int st,en;
for(int i=0;i<n;i++)
{
if(q[i]=='G') st=i;
if(q[i]=='T') en=i;
}
if(st>en) swap(st,en);
for(int i=st;i<n;i+=k)
{
if(q[i]=='#')
break;
else if(i==en)
{
s=1;
break;
}
}
if(s==1)
printf("YES\n");
else
printf("NO\n");
}
return 0;
}
本文介绍了一道关于蚱蜢在1*n的盒子中跳跃的问题,蚱蜢的目标是到达特定位置T,但不能落在标记为“#”的位置。通过分析路径上的可达性和障碍物情况来判断目标是否能够达到。
1025

被折叠的 条评论
为什么被折叠?



