您的位置:首页 > 其它

ZOJ 2478 Encoding (字符串处理)

2015-02-08 20:02 309 查看
题意:

这道题好像是第二次写了,题意稍微有点混淆,没说清楚是不是按字母顺序下来,实际是按原来串的顺序下来就好,边缘处理下就可以啦!

代码:

#include <iostream>
#include <string> 
#include <vector>
using namespace std;
int main()
{
	int n,tmp;
	cin>>n;
	string s;
	char flag;
	while(n--)
	{
	  cin>>s;
	  vector <char> storeLetter;
	  vector <int> storeAmount;
	  flag=s[0];
	  tmp=0;
	  storeLetter.push_back(s[0]);
	  for(int i=0;i<s.length();i++)
	  {
  		 if(s[i]!=flag)
  		 {
  		 	flag=s[i];
  		 	storeAmount.push_back(tmp);
 		    storeLetter.push_back(s[i]);
			tmp=1; 	
	     }
	     else
	     tmp++;
  	  }	
  	  storeAmount.push_back(tmp);
  	  for(int i=0;i<storeAmount.size();i++)
  	  {
  	  	if(storeAmount[i]>1)cout<<storeAmount[i];
  	  	cout<<storeLetter[i];
  	  }
  	  cout<<endl;
	}
	return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: