• 3.19


    原题链接

    题外话

    可算能做出来一道题了qaq

    题意

    让你把一个字符串排成字典序最小的形式,移动方式是奇数和偶数相邻,这两个数可以无限以动

    思路

    用两个数组,分别存奇偶,然后处理一下就好,挺简单的(代码写的挺丑的。。)

    代码

    ///*
    //正在播放《フリージア》
    //1:21  ━━━━━━●─────   5:35
    //   ?   ?   ??   ?   ?
    //```````'`...```````''`````````````'````````````````'`.`''
    //```````''..`';;'```''```'''''''''''''`````````````````'':
    //.````''''':;;!!:````'````'''''''''''``````````````````'':
    //``''''''':;;;;;'```'``````''```````````____________```'':
    //`````````:;;!;'```````````'```````'```|   所以说   |'``'':
    //```````'|$&$%:````````````'```````````|不要停下来啊|''''':
    //````'''!$&&&|'```````````'''::''::''''/ (指AC)  |':'':::
    //````'':|&&&$!'`````'''''''::.....`;!;'/_________|''``'::
    //  ....'|&&@$!'........```:!;'....`:;:```````````````````'
    //..````;$&&&$!:''``````'':|%%!::;|%$$!::::::::''::::::::::
    //``````!&&@&&|:'````````':|$$$$$$$$$|:':::::::::::::::::::
    //`````:%&@@@@@@@@&&&@@@@&&&&@@@@@@@&&&|::::::::':::::::::;
    //`````.```':|$@@@@@@@@@@@@@@@@@@@@@@@@###@@&&$|;:::'::::::
    //````````````';|$&@@@@@@@@@###@@@@@@########@@@@$!''''::::
    //`````````..````:|%$@@@@@#########@#########@@@@&!''''::::
    //`````````````````:|&########################@@@$;::::::::
    //``````````````````:!$@########################@%;:::'::::
    //``````````..``````':|&#######################@@&!''''''::
    //''''::'''`.`''''''':|@#######################@@&|:'`.`';!
    //:::::::::``'''''';%@######################@@##@@&!::'';;;
    //::;::::::`.''''';%@@@@####################$%@##@@%;:'':;!
    //:;;;;::::``':;%@@@#########################&%&##@@|:'';;!
    //;;!;;;;;;'`::;%@#############################@@##@$!'';!!
    //;;;;;;;;:``':::::;|$@############################@$!'`;!!
    //::;;;;;;:'`'::::::;!$@#######################&&@$$$;``:;;
    //`````````..````````'|@#####################$;!$$$&@@|''':
    //'''''''''''''':'''''|@#########@&@##########@@####@@&%|!!
    //''''''''':'''::'':''!&########&!|&@##########&&####&%|!||
    //:::::'''::::::::::::!&########|:;|$@#########@&###&%||||!
    //:::::::'''''':::::::!&#######@!:;!!$@########@$&##@%||||!
    //
    //                    だからよ...止まるじゃねえぞ
    // */
    
    
    
    
    #include <vector>
    #include <algorithm>
    #include <string>
    #include<cstring>
    #include <iostream>
    #include <set>
    #include <map>
    #include <stack>
    #include <queue>
    #include <unordered_map>
    #include <bitset>
    #include <cassert>
    #include <chrono>
    #include <random>
    #include <iomanip>
    #include <unordered_set>
    #include <ctime>
    #include <chrono>
    using namespace std;
    // #define  ll long long
    const int N =1e5+10;
    #define PII pair<int , int > 
    #define all(x) (x).begin(),(x).end()
    #define rall(x) (x).rbegin(),(x).rend()
    #define pb push_back
    #define sz(x) (int)(x).size()
    typedef long long ll;
    typedef long double ld;
    mt19937 rnd(chrono::high_resolution_clock::now().time_since_epoch().count());
    ll n , m ,t ;
    ll ar[1000010];
    #define __i __int128
    //ll mod = 1e9+7;
    vector<ll > div(ll x){
    	vector<ll > res;
    	for(ll i=1 ;i<=x/i;i++) {
    		if(x%i==0){
    			res.push_back(i);
    			if(i!=x/i)res.push_back(x/i);
    		}
    	}
    	sort(res.begin(), res.end());
    	return res;
    }
    int main(){
        ios::sync_with_stdio(0);
        cin.tie(0), cout.tie(0);
    	cin >>n;
     	while(n--){
     		string s;cin >>s;
     		vector<char>o,e;
     		for(int i=0 ;i<s.size();i++) {
     			if((s[i]-'0')%2==0)e.pb(s[i]);
     			else  o.pb(s[i]);
    		 }
    		 //cout<<sz(o)<<" "<<sz(e)<<endl;
    		 int num1=0,num2=0;int f=0;
    		for(int i=0;i<s.size();i++){
    			if((s[i]-'0')%2==0){
    				if(num2!=sz(o)&&num1!=sz(e)){
    					while(e[num1]<=o[num2]){
    						cout<<e[num1];num1++;
    						if(num1==sz(e))break;
    					}
    					cout<<o[num2];num2++;
    				}
    				else{
    					while(num1!=sz(e)){
    						cout<<e[num1];num1++;
    					}
    					f=1 ;
    					break;
    				}
    			}
    			if((s[i]-'0')%2==1){
    					if(num2!=sz(o)&&num1!=sz(e)){
    					while(o[num2]<=e[num1]){
    						cout<<o[num2];num2++;
    						if(num2==sz(o))break;
    					}cout<<e[num1];num1++;
    				}
    				else{
    					while(num2!=sz(o)){
    						cout<<o[num2];num2++;
    					}
    					f=2;
    					break;
    				}
    				
    			}
    		}
    		//cout<<num1<<endl;
    		if(f==1){
    			while(num2!=sz(o)){
    						cout<<o[num2];num2++;
    					}
    		}
    		if(f==2){
    			while(num1!=sz(e)){
    						cout<<e[num1];num1++;
    					}
    		}
    		cout<<endl;
    	 }
        return 0;
    
    }
    
    
  • 相关阅读:
    理解原型Prototype、继承
    解决js跨域问题的基本方法之 -------JSONP
    CSS3中动画效果Transitions与Animations的区别
    支付宝支付实例
    上线实例
    Celery
    Redis
    git
    jwt认证
    登录认证
  • 原文地址:https://www.cnblogs.com/gaohaoy/p/12521989.html
Copyright © 2020-2023  润新知