本文共 1075 字,大约阅读时间需要 3 分钟。
思路 标记最小的最后的位置 放在第一位
标记位置之前按left值小的左方大的右方
标记位置之后按顺序放在最后
不多说先贴上销毁内存的wa代码
1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 #include 9 #include 10 #include 11 #define PI acos(-1.0)12 using namespace std;13 typedef long long ll;14 const ll mood=1e9+7;15 const double eps=1e-9;16 const int N=1e4+10;17 const int MAXN=510;18 //queue q; 19 20 char sh[120];21 int main()22 {23 int ci;24 scanf("%d",&ci);25 getchar();26 while(ci--)27 {28 string s;29 int len=0;30 memset(sh,0,sizeof(sh));31 char tem=getchar();32 char mn='9'+1;33 int mn_pos=0;34 while(tem!='\n'&&tem!=' ')35 {36 if(mn>=tem&&tem!='0')37 {38 mn=tem;39 mn_pos=len;40 }41 sh[len++]=tem;42 // q.push(tem);43 tem=getchar();44 }45 char lef='9'+1;46 for(int i=0;i mn_pos) s=s+sh[i];54 else if(sh[i]<=lef)55 {56 s=sh[i]+s;57 lef=sh[i];58 }59 else{60 s=s+sh[i];61 }62 }63 64 }65 // cout< <
转载于:https://www.cnblogs.com/Geek-xiyang/p/5251250.html