zoukankan      html  css  js  c++  java
  • CF

    题目要求从第一个字符串到最后一个字符串的字典序由小到大,然后要求删除最少的字符,问删除后的字符串.

    从上面的字符串往下面的字符串修改很麻烦,因为一个字符串受它下面的字符串影响修改了的话,那这个字符串上面的字符串也会受到影响。可以换个角度,可以视为最后一个字符串到第一个字符串的字典序由大到小排序,从下面的字符串往上扫,遇到一个字符串比它下面的字符串大就修改。

    #include<bits/stdc++.h>
    using namespace std;
    string str[500000+10];
    int main()
    {
        int n,ans=0,flag;
        cin>>n;
        for(int i=1;i<=n;i++)
            cin>>str[i];
        for(int i=n;i>=2;i--)
        {
            flag=1;
            for(int j=1;j<str[i].size()&&j<str[i-1].size();j++)
            {
                if(str[i][j]<str[i-1][j])
                {
                    flag=0;
                    str[i-1].erase(j,str[i-1].size()-j);
                    break;
                }
                if(str[i][j]>str[i-1][j])
                {
                    flag=0;
                    break;
                }
            }
            if(flag)
            {
                if(str[i].size()<str[i-1].size())
                {
                    str[i-1].erase(str[i].size(),str[i-1].size()-str[i].size());
                }
            }
    
        }
        for(int i=1;i<=n;i++)
            cout<<str[i]<<endl;
        return 0;
    }
    
  • 相关阅读:
    [原]Unity3D深入浅出
    [原]Unity3D深入浅出
    [原]Unity3D深入浅出
    [原]Unity3D深入浅出
    [原]Unity3D深入浅出
    [原]Unity3D深入浅出
    [原]Unity3D深入浅出
    SSH 远程端口转发
    SSH 本地端口转发
    SSH执行远程命令和传送数据
  • 原文地址:https://www.cnblogs.com/eason9906/p/11754907.html
Copyright © 2011-2022 走看看