Submission #1983911


Source Code Expand

#include <iostream>
#include <string>
#include <vector>
#include <algorithm>
#include <queue>
#include <set>
#include <map>
using namespace std;

typedef long long ll;

int n;

struct stick
{
    ll p;
    ll q;
    int r;
    int b;
};

vector<stick> ss;

ll node[110];

ll gcd(ll a, ll b)
{
    if (b == 0)
        return a;
    return gcd(b, a % b);
}

ll rec(int in)
{
    if(in == 0) return 1;
    int p = ss[in].p;
    int q = ss[in].q;
    int r = ss[in].r;
    int b = ss[in].b;
    {
        ll rt = rec(r);
        ll bt = rec(b);
        ll rt2 = rt * p;
        ll bt2 = bt * q;
        ll g = gcd(rt2, bt2);
        node[in] = rt2 / g * bt + bt2 / g * rt;
    }
    return node[in];
}

int main()
{
    cin >> n;
    ss.resize(110);
    vector<int> memo(n + 1, true);

    for (int i = 1; i <= n; ++i)
    {
        cin >> ss[i].p >> ss[i].q >> ss[i].r >> ss[i].b;
        if (ss[i].r != 0)
        {
            memo[ss[i].r] = false;
        }
        if (ss[i].b != 0)
        {
            memo[ss[i].b] = false;
        }
    }
    for (int i = 1; i <= n; ++i)
    {
        if (memo[i])
            cout << rec(i) << endl;
    }

    return 0;
}

Submission Info

Submission Time
Task E - 最軽量のモビール
User niuez
Language C++14 (GCC 5.4.1)
Score 20
Code Size 1239 Byte
Status AC
Exec Time 1 ms
Memory 256 KB

Judge Result

Set Name set01 set02 set03 set04 set05 set06 set07 set08 set09 set10
Score / Max Score 2 / 2 2 / 2 2 / 2 2 / 2 2 / 2 2 / 2 2 / 2 2 / 2 2 / 2 2 / 2
Status
AC × 1
AC × 1
AC × 1
AC × 1
AC × 1
AC × 1
AC × 1
AC × 1
AC × 1
AC × 1
Set Name Test Cases
set01 data1
set02 data2
set03 data3
set04 data4
set05 data5
set06 data6
set07 data7
set08 data8
set09 data9
set10 data10
Case Name Status Exec Time Memory
data1 AC 1 ms 256 KB
data10 AC 1 ms 256 KB
data11 AC 1 ms 256 KB
data12 AC 1 ms 256 KB
data13 AC 1 ms 256 KB
data14 AC 1 ms 256 KB
data15 AC 1 ms 256 KB
data2 AC 1 ms 256 KB
data3 AC 1 ms 256 KB
data4 AC 1 ms 256 KB
data5 AC 1 ms 256 KB
data6 AC 1 ms 256 KB
data7 AC 1 ms 256 KB
data8 AC 1 ms 256 KB
data9 AC 1 ms 256 KB