求助,样例三过不去,而且没法看数据

P1150 Peter 的烟

xiaphei @ 2024-09-03 16:52:40

#include <bits/stdc++.h>
using namespace std;
long long sum,n,k,c;
int main()
{
    scanf("%lld%lld",&n,&k);
    sum+=n;
    while(n>=k)
    {
        c=n/k;
        sum+=c;
        n=c;
    }
    printf("%lld",sum);
    return 0;
}

by 幻想繁星 @ 2024-09-03 17:14:36

@xiaphei 考虑可以用上次剩下的烟蒂和这次产生的烟蒂一起换烟


by Yxy7952 @ 2024-09-03 17:15:07

@xiaphei

这个代码只计算了初始所给的 n 根烟能产生的烟数量,漏洞在于用烟蒂换来的烟还会产生一个烟蒂。 hack数据:11 3 应输出:16 实际:15

#include <bits/stdc++.h>
using namespace std;
long long sum,n,k,c;
int main()
{
    scanf("%lld%lld",&n,&k);
    sum+=n;
    while(n>=k)
    {
        c=n/k;
        sum+=c;
        n%=k;
        n+=c;
    }
    printf("%lld",sum);
    return 0;
}

by Yxy7952 @ 2024-09-03 17:15:59

@xiaphei

求关


|