求助
查看原帖
求助
546477
DESCENDANTSOFDRAGON楼主2022/5/3 22:42
#include<bits/stdc++.h>
#define maxn 100010
using namespace std;
int t;
string n;
int main (){
	cin>>t;
	for(int i=1;i<=t;i++)
	{
		int numo=0,nume=0;
		int odd[maxn],even[maxn];
		cin>>n;
		int a[maxn];
		for(int i=0;i<n.size();i++)
		{
			a[i]=n[i]-'0';
			if(a[i]%2==1)
			{
				numo++;
				odd[numo]=a[i];
			}
			else
			{
				nume++;
				even[nume]=a[i];
			}
		}
		int cnto=1,cnte=1;
		for(int i=1;i<=n.size();i++)
		{
			if(cnto<=numo&&cnte<=nume)
				if(odd[cnto]<even[cnte])
				{
					cout<<odd[cnto];
					cnto++;
				}
				else
				{
					cout<<even[cnte];
					cnte++;
				}
		}
		while(cnto<=numo)
		{
			cout<<odd[cnto];
			cnto++;
		}
		while(cnte<=nume)
		{
			cout<<even[cnte];
				cnte++;
		}
		if(cnto==numo&&cnte==nume)	
				break;
		cout<<endl;	
	}
	return 0;
} 

究竟哪里错了,第三个点T掉了

2022/5/3 22:42
加载中...