第一次参加百度之星比赛的第一题

来源:互联网 发布:es6遍历数组 json 编辑:程序博客网 时间:2024/05/02 04:41
#include<stdio.h>long long int N = 0;long long int V = 0;long long int K = 0;long long int funct(long long int m,long long int num){    if(m >= N)        return 0;    else if(m < V)        return -1;    long long int temp = (m - V) * K;    num ++;    if(temp == m)        return -1;    if(temp >=  N)        return num;    else        return funct(temp,num);}int main(){    int  t = 0;    long long int M = 0;    int Num = 0;    scanf("%d",&t);    while(t --)    {        scanf("%lld %lld %lld %lld",&N,&M,&V,&K);        if(N <= M)        printf("0\n");            else if(( N!=0 && K == 0)||((M < N)&& (K == 1)))            printf("-1\n");        else        {             printf("%lld\n",funct(M ,Num));        }    }    return 0;}

无语。对于第一道大题就是个坑。一直以为是自己的智商问题,结果被坑了大半天才发现要用64位啊啊啊啊!!!!!坑啊。我去。一个下午就这样被坑了。泪奔~泪奔~~把类型改成long long int就AC了。我想哭啊。就这样摆了一道。教训。深深的教训······留下代码作纪念吧。大哭大哭大哭
0 0
原创粉丝点击