新手,我承认很弱,不会高级思考,只会暴力循环,实在也不清楚linux下跑代码的差别,除了知道换行符外,不知道下面这段为啥了,本地跑样例都能正确输出,在线ide跑,数值小了是错误,数值大了直接报错,运行时错误,也许是我语言基础不好吧,是循环多了还是怎么,求大佬解答
#include<cstdio>
#include<iostream>
#include<cstring>
#include<cctype>
using namespace std;
int count=0,n;
string vk="VK";
int cmp(string s)
{
int add=0;
for(int i=0;i<n;i++)
{
if(!memcmp(&s[i],&vk[0],2))
add++;
}
return add;
}
int main()
{
// freopen("test.txt","r",stdin);
int max=0,sum;
cin>>n;
getchar();
string s,temp;
getline(cin,s);
count=cmp(s);
temp=s;
for(int i=0;i<n;i++)
{
temp[i]='V';
sum=cmp(temp);
max=sum>max?sum:max;
temp=s;
}
for(int i=0;i<n;i++)
{
temp[i]='K';
sum=cmp(temp);
max=sum>max?sum:max;
temp=s;
}
max=count>max?count:max;
cout<<max;
return 0;
}