这题我会,其实没那么难,不知道为啥大家的做法那么麻烦……

P1150 Peter 的烟

xiongyx @ 2021-03-07 17:03:53

#include <bits/stdc++.h>
using namespace std;

int n, k; // 记得定义变量哦 
int sp, ans, cnt;
// cnt表示现有的烟数量,sp表示烟蒂的数量,ans表示已经抽了多少根烟 

int main() {
    // freopen(".in", "r", stdin);
    // freopen(".out", "w", stdout);

    cin >> n >> k; // 输入数据 
    cnt = n; // 赋初始值,一开始有 n 根烟 
    while (cnt != 0) { // while 循环记得加大括号 
        cnt--, sp++, ans++; // 抽 1 根烟,多 1 个烟蒂,答案加 1  
        if (sp == k) {
            sp = 0, cnt++; // 把 k 个烟蒂兑换成 1 根烟 
        } 
    } 
    cout << ans << endl; // 输出答案 

    // fclose(stdin);
    // fclose(stdout);
    return 0;
}

直接模拟就可以了,注释写的很详细~


by Maxmilite @ 2021-03-07 17:05:52

《主观与客观》

并且第一篇题解就比您写的短...


by Maxmilite @ 2021-03-07 17:06:19

啊原来是钓鱼啊

那没事了


by 逃离地球 @ 2021-03-07 17:06:56

哇楼主好厉害啊!!支持楼主提出新算法!!!


by DIgnited @ 2021-03-07 17:07:30

钩直饵咸.png


by EuphoricStar @ 2021-03-07 17:08:03

你太强了,居然会一道入门题!


by xcyleAKIOI @ 2021-03-07 17:08:04

while循环不是前几年新发明的黑科技吗


by ——萧—— @ 2021-03-07 17:08:22

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

by ——萧—— @ 2021-03-07 17:09:24

8行和25行


by xiongyx @ 2021-03-07 17:09:33

AC记录:https://www.luogu.com.cn/record/47513078

我真的过了!!!


by Scintilla @ 2021-03-07 17:11:02

晋太元中,武陵人_____为业。


| 下一页