2015-02-25 15:32:50

小结:刷小号的场... (摸着黑在床上打... 脖子好酸QAQ)

  A题坑... 被hack后没怎么搞,就先写了C和D,最后把A过了。

  B题水,C题水,D题简单概率DP。

  ※... 然后靠C题long long hack两发...(小插曲:看到有人用perl写的C,不知道long long能不能hack,瞎hack一发失败了... QAQ)

  ※... 赛后补了E题,数学+贪心。

 

A:其实是个贪心... 随便写吧。

 1 #include <cstdio>
 2 #include <cstring>
 3 #include <cstdlib>
 4 #include <cmath>
 5 #include <vector>
 6 #include <map>
 7 #include <set>
 8 #include <stack>
 9 #include <queue>
10 #include <string>
11 #include <iostream>
12 #include <algorithm>
13 using namespace std;
14 
15 #define MEM(a,b) memset(a,b,sizeof(a))
16 #define REP(i,n) for(int i=1;i<=(n);++i)
17 #define REV(i,n) for(int i=(n);i>=1;--i)
18 #define FOR(i,a,b) for(int i=(a);i<=(b);++i)
19 #define RFOR(i,a,b) for(int i=(a);i>=(b);--i)
20 #define getmid(l,r) ((l) + ((r) - (l)) / 2)
21 #define MP(a,b) make_pair(a,b)
22 
23 typedef long long ll;
24 typedef pair<int,int> pii;
25 const int INF = (1 << 30) - 1;
26 
27 string a,b,c;
28 
29 int main(){
30     cin >> a >> b;
31     int i,j;
32     for(i = 0; i < a.size(); ++i){
33         if(b[i] > a[i]){
34             break;
35         }
36     }
37     if(i >= a.size()){
38         printf("No such string\n");
39         return 0;
40     }
41     for(j = a.size() - 1; j > i; --j){
42         if(a[j] < 'z'){
43             c = a;
44             c[j] = a[j] + 1;
45             break;
46         }
47         if(b[j] > 'a'){
48             c = b;
49             c[j] = b[j] - 1;
50             break;
51         }
52     }
53     if(j == i){
54         if(b[i] - a[i] <= 1){
55             printf("No such string\n");
56             return 0;
57         }
58         c = a;
59         c[i] = a[i] + 1;
60     }
61     cout << c << endl;
62     return 0;
63 }
View Code

相关文章:

  • 2022-02-19
  • 2021-08-08
  • 2021-10-07
  • 2021-06-05
  • 2021-05-30
  • 2022-02-09
  • 2021-08-12
  • 2021-06-13
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案