CodeForces 777D Cloud of Hashtags

来源:互联网 发布:一条网线开两个淘宝店 编辑:程序博客网 时间:2024/06/02 21:25

题目链接:http://codeforces.com/contest/777/problem/D
题意:给你n个#开头的字符串,让你通过删除一些字符(不能删除#),使得他们呈非递减的序列,并输出这个序列
解析:非递减,那么你从序列的末尾扫一遍上去,遇到前一个字符串比当前字符串大的就处理一下即可

#include <cstdio>#include <cstring>#include <algorithm>#include <cmath>#include <iostream>#include <vector>#include <queue>#include <string>#include <set>#include <map>using namespace std;const int maxn = 1e6+100;string a[maxn];int main(){    int n;    scanf("%d",&n);    for(int i=0;i<n;i++)        cin>>a[i];    for(int i=n-1;i>=1;i--)    {        if(a[i]<a[i-1])        {            int j = 0;            for(;j<a[i-1].length();j++)            {                if(a[i-1][j]>a[i][j])                    break;            }            a[i-1] = a[i-1].substr(0,j);        }    }    for(int i=0;i<n;i++)        cout<<a[i]<<endl;    return 0;}
0 0
原创粉丝点击