PAT A1058 A+B in Hogwarts (20)

AC代码

#include <cstdio>
struct Money {
    long long Galleon, Sicklke, Knut;
}A, B, Sum;

void init() {
    A.Galleon = B.Galleon = Sum.Galleon = 0;
    A.Sicklke = B.Sicklke = Sum.Sicklke = 0;
    A.Knut = B.Knut = Sum.Knut = 0;
}

void Add(Money a, Money b) {
    if(a.Knut + b.Knut >= 29) {
        Sum.Sicklke += 1;
        Sum.Knut += (a.Knut + b.Knut - 29);
    } else Sum.Knut += (a.Knut + b.Knut);
    if(Sum.Sicklke + a.Sicklke + b.Sicklke >= 17) {
        Sum.Galleon += 1;
        Sum.Sicklke += (a.Sicklke + b.Sicklke - 17);
        Sum.Galleon += (a.Galleon + b.Galleon);
    } else {
        Sum.Sicklke += (a.Sicklke + b.Sicklke);
        Sum.Galleon += (a.Galleon + b.Galleon);
    }
}

int main() {
    #ifdef ONLINE_JUDGE
    #else
        freopen("1.txt", "r", stdin);
    #endif // ONLINE_JUDGE
    init();
    scanf("%lld.%lld.%lld %lld.%lld.%lld", &A.Galleon, &A.Sicklke, &A.Knut, &B.Galleon, &B.Sicklke, &B.Knut);
    Add(A, B);
    printf("%lld.%lld.%lld", Sum.Galleon, Sum.Sicklke, Sum.Knut);
    return 0;
}

转载于:https://www.cnblogs.com/isChenJY/p/11304214.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值