标签:str %s tchar stack 顺序 break pac max lag
还以为能用单调栈做出来,,想了老半天,最后发现模拟一下很好做的
按顺序把字符压栈即可
#include<bits/stdc++.h> using namespace std; #define maxn 100005 char s[maxn]; stack<int>stk; int vis[30]; int main(){ scanf("%s",s); int len=strlen(s); for(int i=0;i<len;i++)vis[s[i]-‘a‘]++; for(int i=0;i<len;i++){ stk.push(s[i]-‘a‘); vis[s[i]-‘a‘]--; int flag=0; while(!stk.empty()){ int tmp=stk.top(); for(int i=0;i<tmp;i++)if(vis[i])flag=1; if(flag) break; putchar(tmp+‘a‘); stk.pop(); } } }
标签:str %s tchar stack 顺序 break pac max lag
原文地址:https://www.cnblogs.com/zsben991126/p/10226768.html