Description
1、2、3三個數字組成的序列,要求把所有的2放在前面,所有的3放在後面,輸出結果。
ACM:B: 三個數字
Input
每組數據1、2、3組成的一行字符串,長度不超過10 ^ 5。
Output
把原串的2放在前面,3放在後面,輸出。
Sample Input
12321 223311
Sample Output
22113 221133
很簡單的,看思路
#include <iostream>
#include <cstdio>
#include <cstring>
#include <vector>
#include <cmath>
#include <algorithm>
#include <string>
#define LL long long
#define N 100005
using namespace std;
int num[4]; //記錄123出現的次數
string str;
int main()
{
while(cin>>str)
{
memset(num,0,sizeof(num));
int len=str.length();
for(int i=0;i<len;i++)
{
if(str[i]=='1')
num[1]++;
else if(str[i]=='2')
num[2]++;
else
num[3]++;
}
for(int i=0;i<num[2];i++)
cout<<'2';
for(int i=0;i<num[1];i++)
cout<<'1';
for(int i=0;i<num[3];i++)
cout<<'3';
cout<<endl;
}
return 0;
}