怎么#3过不去啊

P1150 Peter 的烟

weimuqingchen @ 2024-08-21 10:29:02

我也是#3,是怎么回事?


by Dejected @ 2024-08-21 10:38:53

@weimuqingchen 不知道但AC代码如下:求关qwq

#include<bits/stdc++.h>
using namespace std;
int s,n,k;
int main(){
    ios::sync_with_stdio(0);
    cin.tie(0);cout.tie(0);
    cin>>n>>k;
    while(n){
        n--;
        s++;
        if(s%k==0){
            s++;
        }
    }
    cout<<s<<endl;
    return 0;
}

by Finner_forgeter @ 2024-08-21 10:41:35

鉴于楼主不给代码这件事,我决定贴代码。

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

用烟蒂换烟听起来很奇葩呢,就是非常简单的三行代码,相信楼主可以看懂的QAQ(其实是做的太早没看题忘了为什么要减一了) 红题的话贴代码问题应该不大,祝楼主rp++ (求关qwq)


by chenxiyu20110627 @ 2024-08-21 10:50:11

你代码发一下


by chenxiyu20110627 @ 2024-08-21 11:02:32

#include <bits/stdc++.h>
using namespace std;
int main() {
int n,s,m,z=0,y,n1=0;
cin>>n>>m;
s=n;
while(n>=m)//n>m第三点过不了
{   
n=n-m;
s++;
n++;
}cout<<s;
}

by qiaochu @ 2024-08-21 11:12:06

#include<bits/stdc++.h>
using namespace std;
int d(int n,int k,int m=0,int a=0)
{
    a+=n;m+=n;//先抽
    if(a<k)
    {
        cout<<m;
        return 0;
    }
    else
    {
        n=a/k;//换来的烟
        a=a%k;
        return d(n,k,m,a);    
    }

}
int main()
{
    int n,k,m=0,a=0;
    cin>>n>>k;
    d(n,k,m,a);
    return 0;
}

@weimuqingchen


|