http://codeforces.com/problemset/problem/299/B
题意 :这个题挺简单的,就是说这个姑娘不喜欢走有石头的扇形,所以给你一个k的值,代表她一次可以跳多少扇形。
思路 :由于细节问题,那些循环的边界没弄好WA了几次,不过后来终于改对了。。。。
#include<stdio.h> #include<string.h> #include<iostream> using namespace std; const int maxn = 301100 ; char ch[maxn] ; int main() { int n,k ; scanf("%d %d",&n,&k); int flag = 0,j; for(int i = 0 ; i < n ; i++) scanf("%c",&ch[i]) ; for(int i = 0 ; i < n ; i++) { if(ch[i] == '.'&&ch[i+1] == '#') { for(j = i+1 ; j <= k+i ; j++) { if(ch[j] != '#') break ; } if(j == k+i+1) { flag = 1 ; break ; } } } if(flag) printf("NO ") ; else printf("YES ") ; return 0 ; }