码迷,mamicode.com
首页 > 其他好文 > 详细

codeforces 165B(Burning Midnight Oil)

时间:2014-08-06 22:37:52      阅读:253      评论:0      收藏:0      [点我收藏+]

标签:style   blog   color   os   io   for   div   代码   

【题意描述】

本题就是给定代码任务为n行,起始代码书写能力为v行,然后每经过一次除以k,当v变为0时看是否完成代码任务n?并求出最小的v。

【解题思路】

我们可以对v值进行二分,然后确定最后的v值。

【AC代码】

 1 #include<iostream>
 2 using namespace std;
 3 int ok(int v,int k)
 4 {
 5    int sum=v;
 6    while(v!=0)
 7    {
 8        sum+=v/k;
 9        v/=k;
10    }
11    return sum;
12 }
13 int main()
14 {
15     int n,k;
16     while(cin>>n>>k)
17     {
18        int up,low,ans=1;
19        if(n>k)
20        {
21         up=n;low=1;
22         while(low<=up) 
23         {
24            int mid=(up+low)/2;
25            int num=ok(mid,k);
26            if(num>=n) {up=mid-1;ans=mid;}
27            else low=mid+1;  
28         }   
29        }
30        else 
31        {
32          up=k;low=1;
33           while(low<=up) 
34         {
35            int mid=(up+low)/2;
36            int num=ok(mid,k);
37            if(num>=n) {up=mid-1;ans=mid;}
38            else low=mid+1;  
39         }    
40        }
41        
42         cout<<ans<<endl;
43     }
44     return 0;
45 }

 

codeforces 165B(Burning Midnight Oil),布布扣,bubuko.com

codeforces 165B(Burning Midnight Oil)

标签:style   blog   color   os   io   for   div   代码   

原文地址:http://www.cnblogs.com/khbcsu/p/3895746.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!