1. 程式人生 > >CF1076A Minimizing the String

CF1076A Minimizing the String

names %d family ans can review 字典 esp math

題目大意:

輸入一個長度為n的字符串,去掉一或零個字符,輸出去掉後字典序最小的串。(2≤n≤2?105)

思路:

從前往後找到第一個比前一個字符小的字符,去掉前一個;若找不到去掉最後一個就好。

 1 #include<cstdio>
 2 #include<string>
 3 #include<iostream>
 4 
 5 using namespace std;
 6 
 7 int n;
 8 string ss,ans;
 9 
10 int main()
11 {
12     scanf("%d",&n);
13     cin>>ss;
14 int len=ss.length(),ans=len-1; 15 for(int i=1;i<len;i++) 16 { 17 if(ss[i]<ss[i-1]) 18 { 19 ans=i-1; 20 break; 21 } 22 } 23 for(int i=0;i<ans;i++) 24 { 25 cout<<ss[i]; 26 } 27 for(int i=ans+1;i<len;i++)
28 { 29 cout<<ss[i]; 30 } 31 cout<<endl; 32 return 0; 33 }

//第一次cf,記錄一下。

CF1076A Minimizing the String