1. 程式人生 > >Educational Codeforces Round 53 [Rated for Div. 2]

Educational Codeforces Round 53 [Rated for Div. 2]

題意:

好吧,我一開始理解錯題意了。所以就沒有所以了。

給定一個字串,讓找這個字串中是否存在相鄰兩個字元之間為不同字元的情況。

正確程式碼:

#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;
}