Codeforces Round #392 (Div. 2)

Posted Storm_Spirit

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Codeforces Round #392 (Div. 2)相关的知识,希望对你有一定的参考价值。

  突然觉得CF的题很锻炼代码能力和反应速度。。更加坚定了我在寒假要多打CF的决心。

  AB都是大水题,直接跳过了。

  C题,很简单的题目,不过感觉细节必须考虑清楚。WA了很多发才过,而且最终代码还很挫。。还特判了n是1和2的情况= =。。代码太挫了就不贴了。

  D题,也是比较简单的贪心,不过感觉直接写for的话可能比较烦= =,借鉴了别人递归的写法,还是挺不错的。代码如下:

 1 #include <stdio.h>
 2 #include <algorithm>
 3 #include <string.h>
 4 #include <iostream>
 5 using namespace std;
 6 typedef long long ll;
 7 
 8 ll base;
 9 char s[100];
10 ll solve(int r)
11 {
12     if(r == 0) return 0;
13     int l = r;
14     ll val = 0;
15     ll t = 1;
16     for(int i=r;i>=1&&t<base;i--,t*=10)
17     {
18         if(val+t*(s[i]-\'0\') < base)
19         {
20             if(s[i] != \'0\') l = i;
21             val = val + t*(s[i]-\'0\');
22         }
23         else break;
24     }
25     return solve(l-1) * base + val;
26 }
27 
28 int main()
29 {
30     cin >> base;
31     scanf("%s",s+1);
32     cout << solve(strlen(s+1)) << endl;
33     return 0;
34 }
D

 

  还是要提高代码能力啊!

以上是关于Codeforces Round #392 (Div. 2)的主要内容,如果未能解决你的问题,请参考以下文章

Codeforces Round #392 (Div. 2) F. Geometrical Progression

Codeforces Round #392 (Div. 2)

Codeforces Round #392 (Div. 2)

Codeforces Round #392 (div.2) E:Broken Tree

Codeforces Round #436 E. Fire(背包dp+输出路径)

[ACM]Codeforces Round #534 (Div. 2)