文章目录

题解 LGP8627 [蓝桥杯 2015 省 A] 饮料换购

由 hycqwq 发布

思路

定义一个变量 $t$ 存储现在有多少个瓶盖,初始值为 $n$。

每当 $t \ge 3$ 时,就代表可以换购饮料,于是把 $t$ 设为 $\lfloor \frac{t}{3} \rfloor$ 与 $t$ 除以 $3$ 的余数即可。

代码

#include <iostream>
#include <algorithm>
#include <cstdio>
#include <cstdlib>
#include <ctime>
#include <string>
#include <cstring>
#include <cctype>
#include <cmath>
#include <vector>
#include <stack>
#include <queue>
#include <deque>
#include <map>
using namespace std;
typedef long long ll;
typedef pair<int, int> pii;
const int inf = 0x3f3f3f3f;
#define elif else if
#define il inline

int main()
{
    int n;
    cin >> n;
    int t = n;
    while (t >= 3)
        n += t / 3, t = t / 3 + t % 3;
    cout << n << endl;
    return 0;
}

暂无评论

发表评论