17-2-24-D

 1 #include<iostream>
 2 #include<cstdio>
 3 #include<cstring>
 4 #include<algorithm>
 5 using namespace std;
 6 
 7 const int maxn=500005;
 8 string str[maxn];
 9 int flag[maxn];
10 
11 int main()
12 {
13     int n;
14     int i,j;
15     scanf("%d",&n);
16     getchar();
17     for(i=0;i<n;i++)
18     {
19         getline(cin,str[i]);
20     }
21 
22     flag[n-1]=str[n-1].size();
23 
24     for(i=n-2;i>-1;i--)
25     {
26         flag[i]=flag[i+1];
27         for(j=1;j<flag[i+1];j++)
28         {
29             if(str[i+1][j]>str[i][j])
30             {
31                 flag[i]=str[i].size();
32                 break;
33             }
34 
35             else if(str[i+1][j]<str[i][j])
36             {
37                 flag[i]=j;
38                 break;
39             }
40         }
    } 52 53 for(i=0;i<n;i++) 54 { 55 for(j=0;j<flag[i];j++) 56 { 57 cout<<str[i][j]; 58 } 59 cout<<endl; 60 } 61 62 return 0; 63 64 }
做题笔记,只是想积累看看四年之后写了AC了多少题。
原文地址:https://www.cnblogs.com/ooozy/p/6440484.html