C - AtCoDeerくんと選挙速報 / AtCoDeer and Election Report

Posted stupid_one

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C - AtCoDeerくんと選挙速報 / AtCoDeer and Election Report相关的知识,希望对你有一定的参考价值。

ceil有毒啊。。用ceil一直错。

思路就是模拟吧,设当前的答案是ansx和ansy。

如果比例是小于ansx的,那么就要乘以一个倍数k1,使得a * k1 >= ansx的。

所以就用ceil(ansx / a)嘛。。然后一直wa。

ansy的同理,最后选一个倍数大的去乘就行了。

搞不清楚为什么用ceil会wa

技术分享
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <cmath>
#include <algorithm>
using namespace std;
#define inf (0x3f3f3f3f)
typedef long long int LL;

#include <iostream>
#include <sstream>
#include <vector>
#include <set>
#include <map>
#include <queue>
#include <string>

void work() {
    int n;
    cin >> n;
    LL ansx = 1, ansy = 1;
    for (int i = 1; i <= n; ++i) {
        LL a, b;
        cin >> a >> b;
        LL k1 = 1;
        if (a < ansx) {
//            k1 = max(k1, (LL)ceil(1.0 * ansx / a)); ceil有毒?
            k1 = ansx / a;
            if (ansx % a != 0) k1++;
        }
        if (b < ansy) {
//            k1 = max(k1, (LL)ceil(1.0 * ansy / b));
            LL t = ansy / b;
            if (ansy % b != 0) t++;
            k1 = max(k1, t);
        }
        ansx = a * k1;
        ansy = b * k1;
    }
    cout << ansx + ansy << endl;
}

int main() {
#ifdef local
    freopen("data.txt","r",stdin);
#endif
    work();
    return 0;
}
View Code

 

以上是关于C - AtCoDeerくんと選挙速報 / AtCoDeer and Election Report的主要内容,如果未能解决你的问题,请参考以下文章

AtCoder Regular Contest 062 E - AtCoDeerくんと立方体づくり / Building Cubes with AtCoDeer

AtCoderARC062F - AtCoDeerくんとグラフ色塗り / Painting Graphs with AtCoDeer

ARC 058D いろはちゃんとマス目 组合数学

AtCoDeer and Election Report

AtCoDeer and Election Report

模拟AtCoDeer and Rock-Paper