【题目来源】
https://www.acwing.com/problem/content/1546/
【题目描述】
如果你是哈利波特的粉丝,你就会知道魔术世界有其自己的货币体系。
正如海格对哈利解释的那样:“17 个银镰刀(Sickle)可以换 1 个帆船(Galleon),29 个克努特(Knut)可以换 1 个银镰刀。”
你的工作是编写一个计算 A+B 的程序,其中 A 和 B 以 Galleon.Sickle.Knut 的标准形式给出。其中,Galleon 是一个范围在 [0,10^7] 的整数,Sickle 是一个范围在 [0,17) 的整数,Knut 是一个范围在 [0,29) 的整数。
【输入格式】
共一行,包含 A 和 B,格式如题目所述。
【输出格式】
按照题目所述标准格式,输出 A+B 的结果。
【输入样例】
3.2.1 10.16.27
【输出样例】
14.1.28
【算法分析】
这是一道简单的模拟题,没有什么难度。
【算法代码】
#include<bits/stdc++.h>
using namespace std;
int main() {
int g1,s1,k1,g2,s2,k2;
scanf("%d.%d.%d %d.%d.%d",&g1,&s1,&k1,&g2,&s2,&k2);
if(k1+k2>=29) s1++,k1=k1-29;
if(s1+s2>=17) g1++,s1=s1-17;
printf("%d.%d.%d",g1+g2,s1+s2,k1+k2);
}
/*
in:
3.2.1 10.16.27
out:
14.1.28
*/
【参考文献】
https://www.acwing.com/solution/content/100675/
https://www.acwing.com/solution/content/11223/