在下90分 第三个点wa 求助大佬 感谢

P1150 Peter 的烟

brony @ 2018-05-06 12:56:14

求助

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

感谢


by 变成一名fw @ 2018-05-21 12:57:22

额,你好像


by 变成一名fw @ 2018-05-21 12:59:55

n+(n-1)/(k-1)

这个直接算出换的烟

所以直接cout<<n+(n-1)/(k-1)

就行了

不需要那么复杂


by 变成一名fw @ 2018-05-21 13:00:49

我这个蓝名蒟蒻就这么做的,我不确定有没有更简单的


by tocek_shiki @ 2018-06-01 23:40:16

@WD_高兴 您太巨了


by 变成一名fw @ 2018-06-02 08:54:06

@fff团666 ……


by tocek_shiki @ 2018-06-02 08:59:16

@WD_高兴 您为何要扼杀一位萌新暴力的美好愿望


by 变成一名fw @ 2018-06-02 09:10:25

@fff团666 我也只是一枚萌新啊


by S_W_T @ 2018-07-14 20:56:48

超短的程序
代码如下:

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

满分测试点


by typedef @ 2018-07-22 21:37:34

#include<iostream>
#include<cstdio>
#include<cstring>
#include<string>
#include<algorithm>
#include<cmath>
using namespace std;
int main()
{
    ios::sync_with_stdio(false);
    long long k,n,ans=0;
    cin>>n>>k;
    ans=n;
    while(n>=k){
        ans++;
        n++;
        n-=k;
    }
    cout<<ans<<endl;
    return 0;
} 

by peppaking8 @ 2018-11-12 18:12:48

@typedef 牛


|