80分!!!

P1150 Peter 的烟

mlkjy @ 2024-05-04 15:58:50

#include <bits/stdc++.h>
using namespace std;
int main()
{
    int n,k,m;
    cin>>n>>k;
    if(n>=k)
    {
        m=n/k;
        cout<<n+m;
    }
    else
    {
        cout<<n;
    }
}

by _Somutate_ @ 2024-05-04 16:05:25

m=n/k 改为 m=(n-1)/(k-1)

理由:用烟蒂换来的烟吸完后还可以用来换烟。


by cdxxmashaoyang @ 2024-05-04 16:05:28

#include<bits/stdc++.h>
using namespace std;
int main()
{
    int n,k;
    cin>>n>>k;
    cout<<n+(n-1)/(k-1)<<endl;
    return 0;
}

给个关注吧,能不能加一下www.luogu.com.cn/team/60983


by _Somutate_ @ 2024-05-04 16:06:23

具体证明可以见这篇题解。

@mlkjy


by shimucheng @ 2024-05-04 16:11:29

@mlkjy Peter可以用烟蒂吸完的烟再去换烟(考试时我就像你这么写,结果没过)


by mlkjy @ 2024-05-04 16:14:14

谢谢,已关


|