码迷,mamicode.com
首页 > 其他好文 > 详细

cf797c 栈,字符串

时间:2019-01-06 00:04:26      阅读:196      评论:0      收藏:0      [点我收藏+]

标签: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();
        }
    }
} 

 

cf797c 栈,字符串

标签:str   %s   tchar   stack   顺序   break   pac   max   lag   

原文地址:https://www.cnblogs.com/zsben991126/p/10226768.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!