1058. A+B in Hogwarts (20)
来源:互联网 发布:js插件如何编写 编辑:程序博客网 时间:2024/05/18 00:54
If you are a fan of Harry Potter, you would know the world of magic has its own currency system – as Hagrid explained it to Harry, “Seventeen silver Sickles to a Galleon and twenty-nine Knuts to a Sickle, it’s easy enough.” Your job is to write a program to compute A+B where A and B are given in the standard form of “Galleon.Sickle.Knut” (Galleon is an integer in [0, 107], Sickle is an integer in [0, 17), and Knut is an integer in [0, 29)).
Input Specification:
Each input file contains one test case which occupies a line with A and B in the standard form, separated by one space.
Output Specification:
For each test case you should output the sum of A and B in one line, with the same format as the input.
Sample Input:
3.2.1 10.16.27
Sample Output:
14.1.28
题目很简单,但是我一开始以为输入点时,会自动转化为阿斯特码,所以必须分割,做的比较麻烦。这是原来的代码。
#include <iostream>#include <string>using namespace std;struct node{ int G,S,K; node(){}; node(string str) { G=0; S=0; K=0; int i=0,k=0; while(i<3&&k<str.size()) { if(str[k]=='.') { k++; i++; continue; } if(i==0) { G=G*10+(str[k++]-'0'); continue; } if(i==1) { S=S*10+(str[k++]-'0'); continue; } if(i==2) { K=K*10+(str[k++]-'0'); continue; } } } void add(node b) { K+=b.K; S+=K/29; K=K%29; S+=b.S; G+=S/17; S=S%17; G+=b.G; }};int main(){ //freopen("in.txt","r",stdin); string a,b; cin>>a>>b; node A(a); node B(b); A.add(B); printf("%d.%d.%d\n",A.G,A.S,A.K); system("pause"); return 0;}
后方发现可以把 ‘.’输入到一个char型后,代码就一下子简单了。
#include<iostream> using namespace std; int main() { int G,G1,S,S1,K,K1; char t; cin>>G>>t>>S>>t>>K; cin>>G1>>t>>S1>>t>>K1; K += K1; S += K/29; K %= 29; S += S1; G += S/17; S %= 17; G += G1; cout<<G<<"."<<S<<"."<<K<<endl; return 0; }
- 1058. A+B in Hogwarts (20)- PAT
- 【PAT】1058. A+B in Hogwarts (20)
- 1058. A+B in Hogwarts (20)
- 1058. A+B in Hogwarts (20)
- 1058. A+B in Hogwarts (20)
- PAT 1058. A+B in Hogwarts (20)
- 1058. A+B in Hogwarts (20)
- 1058. A+B in Hogwarts (20)
- PAT 1058. A+B in Hogwarts (20)
- 1058. A+B in Hogwarts (20)
- 1058. A+B in Hogwarts (20)
- 1058. A+B in Hogwarts (20)
- 1058. A+B in Hogwarts (20)
- 1058. A+B in Hogwarts (20)
- pat 1058. A+B in Hogwarts (20)
- 1058. A+B in Hogwarts (20)
- PAT 1058. A+B in Hogwarts (20)
- 1058. A+B in Hogwarts (20)
- Volley
- HDOJ 4081 Qin Shi Huang's National Road System (次小生成树变形--prime)
- 引用与指针有什么区别?
- 34. PHP 类
- JS验证正则表达式(大全)
- 1058. A+B in Hogwarts (20)
- 多线程一定快吗
- appium源码分析(十)-GetAttribute
- IOS开发UI—纯代码实现控件及其基本属性
- HDU1561 树型DP入门
- 《Java并发编程实战》笔记
- 黑马程序员————java基础————常用类String类
- 关于json数据解析
- Java HashMap 深入 内部解析