4分,疯狂超时,大佬们就一下
查看原帖
4分,疯狂超时,大佬们就一下
1578510
Qzy271828楼主2024/11/19 23:11
#include<iostream>
#include<string>
using namespace std;
int main()
{
	string s;
	int n,t(0),i(0);
	bool flag=true;
	cin>>n;
	cin.ignore();
	getline(cin,s);
	while(i<n-1)
	{
		if(s[i]=='V'&&s[i+1]=='K')
		{
			t++;
			i++;
		}
		else if(s[i]=='K'&&s[i+1]=='V')
    		i++;
		else if(s[i]=='V'&&s[i+1]=='V'&&flag==false)
    		i++;
		else if(s[i]=='K'&&s[i+1]=='K'&&flag==false)
    		i++;
		else if(s[i]=='V'&&s[i+1]=='V'&&flag==true)
		{
    		if(s[i-1]=='V')
    		{
        		t++;
        		i++;
        		flag=false;
    		}
    		else
        	i++;
		}
		else if(s[i]=='K'&&s[i+1]=='K'&&flag==true)
		{
    		if(s[i-1]=='K')
			{
				t++;
				i++;
				flag=false;
			}
			else
			i++;
		}
	}
	cout<<t;
}

为什么会错啊QAQ,这个不是O(n)的吗?而且样例好像都可以过,自己随便打一点例子也发过的了啊。

2024/11/19 23:11
加载中...