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

2014年百度之星程序设计大赛 资格赛第一题 (longlong)

时间:2014-05-17 20:49:27      阅读:167      评论:0      收藏:0      [点我收藏+]

标签:style   blog   class   code   c   java   

解题思路:

只要看(A-V)*K 这个公式的更新值是否大于等于A ,大于的话继续循环,否则报错

注意一点,数据会爆int

WA代码:

bubuko.com,布布扣
#include<stdio.h>
int main(){
    long long n ,m, v, k;
    int t;
    scanf("%d",&t);
    while(t--){
        scanf("%lld%lld%lld%lld",&n,&m,&v,&k);
        int cnt = 0;
        while(m < n){
            if( (m - v) * k <= m ){
                cnt = -1;
                break;
            }
            m = (m - v) * k ;
            ++cnt;
        }
        printf("%d\n",cnt);
    }
    return 0;
}
bubuko.com,布布扣

AC代码:

bubuko.com,布布扣
#include <iostream>
using namespace std;
int main(){
    long long n ,m, v, k;
    int t;
    cin >> t;
    while(t--){
        cin >> n >> m >> v >> k;
        int cnt = 0;
        while(m < n){
            if( (m - v) * k <= m ){
                cnt = -1;
                break;
            }
            m = (m - v) * k ;
            ++cnt;
        }
        cout << cnt << endl;
    }
    return 0;
}
bubuko.com,布布扣

 

2014年百度之星程序设计大赛 资格赛第一题 (longlong),布布扣,bubuko.com

2014年百度之星程序设计大赛 资格赛第一题 (longlong)

标签:style   blog   class   code   c   java   

原文地址:http://www.cnblogs.com/wushuaiyi/p/3732952.html

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