社区讨论

84pts求助

P3741小果的键盘参与者 3已保存回复 3

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
3 条
当前快照
1 份
快照标识符
@mhjdp3tl
此快照首次捕获于
2025/11/04 00:52
4 个月前
此快照最后确认于
2025/11/04 00:52
4 个月前
查看原帖
我想到的特判都写了...
CPP
#include <bits/stdc+.h>
using namespace std;
#define puts puts("");
typedef long long ll;
const int INF=0x3f3f3f3f;
//const int dx[]={-1,0,1,0};
//const int dy[]={0,1,0,-1};
//const int dx[]={-1,-1,-1,0,1,1,1,0};
//const int dy[]={-1,0,1,1,1,0,-1,-1};
const int N=1e2+10;
int n;
string s;
int ans=0;
bool st[N]={};
bool f=false;
void csh();
int main(){
	csh();
	cin >> n;
	cin >> s;
	for(int i=0;i<s.size()-1;i++){
		if(s[i]=='V'){
			if(s[i+1]=='K'){
				ans++;
				st[i]=true;
			}else if(s[i+1]=='V'){
        if((i+1==s.size()-1||s[i+2]=='V')&&f==false){
					f=true;
					ans++;
					st[i]=true;
					s[i+1]='K';
				}else{
					continue;
				}
			}else if(f==false){
				f=true;
				ans++;
				st[i]=true;
				s[i+1]='K';
			}else{
				continue;
			}
		}else if(s[i]=='K'&&i>=1){
			if(s[i-1]=='V'&&st[i-1]==false){
				ans++;
				st[i-1]=true;
			}else if(s[i-1]=='K'){
				if((i-1==0||s[i-2]=='K')&&f==false){
					f=true;
					ans++;
					st[i-1]=true;
					s[i-1]='V';
				}else{
					continue;
				}
			}else if(f==false){
				f=true;
				ans++;
				st[i-1]=true;
				s[i-1]='V';
			}else{
				continue;	
			}
		}else{
			continue;	
		}
	}
	cout << ans << endl;
	return 0;
}
void csh(){

}

回复

3 条回复,欢迎继续交流。

正在加载回复...