藍橋杯 演算法提高 字串壓縮

Akoasm海薇發表於2020-10-10

藍橋杯 演算法提高 字串壓縮

題目

編寫一個程式,輸入一個字串,然後採用如下的規則對該字串當中的每一個字元進行壓縮:
  (1) 如果該字元是空格,則保留該字元;
  (2) 如果該字元是第一次出現或第三次出現或第六次出現,則保留該字元;
  (3) 否則,刪除該字元。
  例如,若使用者輸入“occurrence”,經過壓縮後,字元c的第二次出現被刪除,第一和第三次出現仍保留;字元r和e的第二次出現均被刪除,因此最後的結果為:“ocurenc”。
  輸入格式:輸入只有一行,即原始字串。
  輸出格式:輸出只有一行,即經過壓縮以後的字串。

#include<iostream>
#include<algorithm>
using namespace std;

int main(void)
{
	//freopen("in.txt","r",stdin);
	string str,strx;
	//cin>>str;
	getline(cin,str); 
	for(string::iterator i=str.begin();i<str.end();i++)
	{
		int k=count(str.begin(),i,*i)+1;
		if(*i==' ')	
			strx=strx+(*i);
		else if(k==1||k==3||k==6)
			strx=strx+(*i);
		
	}
	cout<<strx;
	return 0;
}

相關文章