PAT (Basic Level) Practice (中文)1043

1043 輸出PATest (20 分)

給定一個長度不超過 10​4​​ 的、僅由英文字母構成的字符串。請將字符重新調整順序,按 PATestPATest.... 這樣的順序輸出,並忽略其它字符。當然,六種字符的個數不一定是一樣多的,若某種字符已經輸出完,則餘下的字符仍按 PATest 的順序打印,直到所有字符都被輸出。

輸入格式:

輸入在一行中給出一個長度不超過 10​4​​ 的、僅由英文字母構成的非空字符串。

輸出格式:

在一行中按題目要求輸出排序後的字符串。題目保證輸出非空。

輸入樣例:

redlesPayBestPATTopTeePHPereatitAPPT

輸出樣例:

PATestPATestPTetPTePePee

作者: CHEN, Yue

單位: 浙江大學

時間限制: 400 ms

內存限制: 64 MB

代碼長度限制: 16 KB


#include<iostream>
#include<string>
#include<cstring>
const int N=128;
using namespace std;
int main()
{
	//這個幾把題,不用map不用很麻煩,就用一個數組就完事了
	//用個數組,用個if 單分支就完事了
	/* ASCII(American Standard Code for Information Interchange,美國信息互換標準代碼,ASCⅡ)是基於拉丁字母的一套電腦編碼系統。它主要用於顯示現代英語和其他西歐語言。它是現今最通用的單字節編碼系統,並等同於國際標準ISO/IEC 646。

  ASCII第一次以規範標準的型態發表是在1967年,
	最後一次更新則是在1986年,至今爲止共定義了128個字符,
	其中33個字符無法顯示(這是以現今操作系統爲依歸,
	但在DOS模式下可顯示出一些諸如笑臉、撲克牌花式等8-bit符號),
	且這33個字符多數都已是陳廢的控制字符,
	控制字符的用途主要是用來操控已經處理過的文字,
	在33個字符之外的是95個可顯示的字符,
	包含用鍵盤敲下空白鍵所產生的空白字符也算1個可顯示字符
	(顯示爲空白)。*/
	int array[N]; 
	string str;
	cin>>str;
	memset(array,0,sizeof(array));
	for(int i=0;i<str.length();i++)
		array[str[i]]++;
	while(array['P']>0||array['A']>0||array['T']>0||array['e']>0||array['s']>0||array['t']>0)
	{
		if(array['P']-->0)	cout<<'P';
		if(array['A']-->0)	cout<<'A';
		if(array['T']-->0)	cout<<'T';
		if(array['e']-->0)	cout<<'e';
		if(array['s']-->0)	cout<<'s';
		if(array['t']-->0)	cout<<'t';
	}
	return 0;
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章