代码如下
#include<bits/stdc++.h>
using namespace std;
int main(){
int n,k,x=0,y=0,z=0,y_1=0,z_1=0;
char a[100001];
scanf("%d%d",&n,&k);
for(int i=1;i<=n;i++){
scanf("%c",&a[i]);
if(a[i]==a[i-1]&&a[i]=='N'){
y++;
y_1++;
}
else
y=0;
if(a[i]==a[i-1]&&a[i]=='F'){
z++;
z_1++;
}
else
z=0;
}
if(a[n]='N')
y_1++;
else
z_1++;
for(int i=1;i<=k;i++){
if(y_1>=z_1){
if(y_1/2*2==y_1){
y_1=y_1-2;
y_1=y_1/2+1;
}
else{
y_1--;
y_1=y_1/2;
}
}
else{
if(z_1/2*2==z_1){
z_1=z_1-2;
z_1=z_1/2+1;
}
else{
z_1--;
z_1=z_1/2;
}
}
if(a[n]=='N')
y_1++;
else
z_1++;
if(y_1>=z_1)
printf("%d",y_1);
else
printf("%d",z_1);
return 0;
}
}
只对了最后一个测试点