90求救

P1150 Peter 的烟

littlefrog @ 2019-07-23 16:08:58

#include <bits/stdc++.h>
using namespace std;
int main() {
    #define int long long
    int n,m;
    cin>>n>>m;
    int ans = 0;
    while(n) {
        if(n>m) {
            n-=m;
            ans+=m;
            n++;
        } else {
            ans+=n;
            n = 0;
        }
    }
    cout<<ans<<endl;
    return 0;
}

by littlefrog @ 2019-07-23 17:29:27

不要像这样:

你直接把那个数据套过来打表过掉不就行了吗

要真怎么简单粗暴还用你答?请解释下为什么这样子。


by Castiel_Cass @ 2019-08-04 13:17:25

第九行的那个if 应该条件是n>=m


by Castiel_Cass @ 2019-08-04 13:17:58

因为等于的时候也可以换烟


by 张晋曹 @ 2019-08-09 09:17:47

#include <iostream>

using namespace std;

int main()
{
    int n, k;
    cin >> n >> k;
    int ans = 0, tmp = 0;
    while(n)
    {
        n--;
        tmp++;
        if (tmp == k)
        {
            n++;
            tmp = 0;
        }
        ans++;
    }
    cout << ans << endl;
    return 0;
}

by 张晋曹 @ 2019-08-09 09:18:14

试试这个


|