版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/LMengi000/article/details/83443642
A. Diverse Substring
题意:
好吧,我一开始理解错题意了。所以就没有所以了。
给定一个字符串,让找这个字符串中是否存在相邻两个字符之间为不同字符的情况。
正确代码:
#include<iostream>
#include<stdio.h>
#include<string.h>
#include<algorithm>
using namespace std;
int main()
{
int n;
cin>>n;
char s[n+1];
cin>>s;
for(int i=1;i<n;i++)
{
if(s[i-1]!=s[i])
{
cout<<"YES\n";
cout<<s[i-1]<<s[i];
return 0;
}
}
cout<<"NO";
}
自己的错误代码:
#include<iostream>
#include<stdio.h>
#include<string.h>
#include<algorithm>
using namespace std;
const int maxn=10010;
char str[maxn];
int cnt[maxn];
int main()
{
int t,flag=0;
scanf("%d",&t);
getchar();
memset(cnt,0,sizeof(cnt));
for(int i=0;i<t;i++)
{
scanf("%c",&str[i]);
cnt[str[i]-'a']++;
}
for(int i=0;i<=30;i++)
{
if(cnt[i]>t/2)
{
flag=1;
printf("NO\n");
break;
}
}
if(flag==0)
{
printf("YES\n");
for(int i=0;i<t-1;i++)
{
printf("%c",str[i]);
}
cout<<endl;
}
return 0;
}