Description
Input
Output
对于每一个样例,打印"Case i: "(i为样例的序号)和需要放置稻草人的数量。如输出样例所示。
Sample Input
3
3
.#.
11
...##....##
2
##
Sample Output
Case 1: 1
Case 2: 3
Case 3: 0
我看网上那个的代码说都是贪心,然而自己连贪心是什么都不知道,一个水题,结果硬生生的被自己做了不知道几个小时。。。。
AC代码:
#include<iostream>
#include<queue>
#include<stack>
#include<cstdio>
#include<string>
#include<cstring>
#include<algorithm>
#define MAX 105
#define inf 99999999
using namespace std;
int t,n;
char len[MAX];
int book[MAX];
int main()
{
int nn=0;
scanf("%d",&t);
while(t--)
{
int ans=0;
memset(book,0,sizeof(book));
scanf("%d",&n);
scanf("%s",len);
for(int i=0;i<n;i++)
{
if(book[i] || len[i]=='#')
continue;
book[i]=book[i+1]=book[i+2]=1;
ans++;
i+=2;
}
printf("Case %d: %d\n",++nn,ans);
}
return 0;
}