1. 程式人生 > >0084-CYX的異己

0084-CYX的異己

題目

CYX的異己
難度級別:A; 執行時間限制:1000ms; 執行空間限制:256000KB; 程式碼長度限制:2000000B
試題描述
CYX 不僅學習成績優秀,人際關係還處理得非常好,即使是這樣,也偶爾有人與他的觀點不同,儘管他知道異己者有明顯的錯誤,但他仍然不能說服異己者,咋辦呢?這個問題很難,但智慧的 CYX 也有辦法解決。現在輸入 n 個小寫字母表示 n 個人的觀點,相同的字母表示觀點相同,出現最多的那個字母出現的次數一定是遙遙領先,而且代表 CYX 的觀點,請你計算有多少個同學與 CYX 的觀點不同。
輸入
第一行包含一個正整數 n(不超過10000) ,第二行僅包含 n 個小寫字母。
輸出
一個數,表示與 CYX 觀點不同的人數。
輸入示例
18
quwqqqqqqqqqqqqqqq
輸出示例
2

分析

  字串的判斷與比較。解決哪種觀點出現次數最多並比較的問題就會非常簡單。

程式碼

#include<bits/stdc++.h>
using namespace std;
char a[10005],b;
int n,sum,maxn;
int main()
{
	scanf("%d",&n);
	for(int i=0;i<n;i++) cin>>a[i];
	for(int i=0;i<n;i++)
	{
		b=a[i];
		for(int j=0;j<n;j++) if(a[j]==a[i]) sum++;//統計持該觀點的人數。 
		if(sum>maxn) maxn=sum;//判斷是否為出現最多次的觀點。
		sum=0;//清空計數器。 
	}
	printf("%d",n-maxn);//計算剩餘人數。 
	return 0;
}