如果你是哈利·波特迷,你会知道魔法世界有它自己的货币系统 —— 就如海格告诉哈利的:“十七个银西可(Sickle)兑一个加隆(Galleon),二十九个纳特(Knut)兑一个西可,很容易。”现在,给定哈利应付的价钱 P 和他实付的钱 A,你的任务是写一个程序来计算他应该被找的零钱。

输入格式:

输入在 1 行中分别给出 P 和 A,格式为 Galleon.Sickle.Knut,其间用 1 个空格分隔。这里 Galleon 是 [0, 1] 区间内的整数,Sickle 是 [0, 17) 区间内的整数,Knut 是 [0, 29) 区间内的整数。

输出格式:

在一行中用与输入同样的格式输出哈利应该被找的零钱。如果他没带够钱,那么输出的应该是负数。

输入样例 1:

10.16.27 14.1.28

输出样例 1:

3.2.1

输入样例 2:

14.1.28 10.16.27

#include<iostream>
using namespace std;
struct money{
int g;
int s;
int k;
};
bool cmp(money a,money b){
if(a.g>b.g) return true;
else if(a.g<b.g) return false;
else {
if(a.s>b.s) return true;
else if(a.s<b.s) return false;
else{
if(a.k>=b.k) return true;
else return false;
}
}
}
int main() {
money p,a,tmp,res;
scanf("%d.%d.%d %d.%d.%d",&p.g,&p.s,&p.k,&a.g,&a.s,&a.k);
bool kSub=false,sSub=false;
if(!cmp(a,p)){
cout<<"-";
tmp=p;
p=a;
a=tmp;
}
res.k=a.k-p.k;
if(res.k<) {
kSub=true;
res.k+=;
}
res.s=a.s-p.s;
if(kSub) res.s--;
if(res.s<){
sSub=true;
res.s+=;
}
res.g=a.g-p.g;
if(sSub) res.g--;
cout<<res.g<<"."<<res.s<<"."<<res.k;
system("pause");
return ;
}

PAT Basic 1037 在霍格沃茨找零钱 (20 分)的更多相关文章

  1. PAT (Basic Level) Practice (中文)1037 在霍格沃茨找零钱 (20 分)

    如果你是哈利·波特迷,你会知道魔法世界有它自己的货币系统 —— 就如海格告诉哈利的:“十七个银西可(Sickle)兑一个加隆(Galleon),二十九个纳特(Knut)兑一个西可,很容易.”现在,给定 ...

  2. 1037 在霍格沃茨找零钱 (20 分)C语言

    题目描述 如果你是哈利·波特迷,你会知道魔法世界有它自己的货币系统 -- 就如海格告诉哈利的:"十七个银西可(Sickle)兑一个加隆(Galleon),二 十九个纳特(Knut)兑一个西可 ...

  3. PAT(B) 1037 在霍格沃茨找零钱(Java)

    题目链接:1037 在霍格沃茨找零钱 (20 point(s)) 题目描述 如果你是哈利·波特迷,你会知道魔法世界有它自己的货币系统 -- 就如海格告诉哈利的:"十七个银西可(Sickle) ...

  4. PAT 乙级 1037 在霍格沃茨找零钱(20)C++版

    1037. 在霍格沃茨找零钱(20) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 如果你是哈利·波特迷,你会知 ...

  5. PAT乙级-1037. 在霍格沃茨找零钱(20)

    如果你是哈利·波特迷,你会知道魔法世界有它自己的货币系统 -- 就如海格告诉哈利的:"十七个银西可(Sickle)兑一个加隆(Galleon),二十九个纳特(Knut)兑一个西可,很容易.& ...

  6. pat(B) 1037. 在霍格沃茨找零钱(水题)

    代码: #include<cstdio> #include<iostream> #include<cstring> #include<algorithm> ...

  7. PAT (Basic Level) Practise (中文)-1037. 在霍格沃茨找零钱(20)

    PAT (Basic Level) Practise (中文)-1037. 在霍格沃茨找零钱(20) http://www.patest.cn/contests/pat-b-practise/1037 ...

  8. PAT 1037 在霍格沃茨找零钱(20)(代码+思路)

    1037 在霍格沃茨找零钱(20)(20 分) 如果你是哈利·波特迷,你会知道魔法世界有它自己的货币系统 -- 就如海格告诉哈利的:"十七个银西可(Sickle)兑一个加隆(Galleon) ...

  9. PAT-乙级-1037. 在霍格沃茨找零钱(20)

    1037. 在霍格沃茨找零钱(20) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 如果你是哈利·波特迷,你会知 ...

随机推荐

  1. java基础--继承、实现、依赖、关联、聚合、组合的联系与区别

    继承 指的是一个类或者接口继承另一个类或者接口,而且可以增加自己的新功能. 实现 指的是一个class类实现interface接口. 依赖 简单说,就是一个类中的方法用到了另一个类,一般依赖关系在ja ...

  2. IDEA集成Tomcat启动控制台乱码

    解决方法: 在下图位置加上: -Dfile.encoding=UTF-8 然后安装下图设置: 如果上述方法重启tomcat还是乱码,那么: 进入idea的安装目录, 进入bin目录下.找到idea.e ...

  3. gitlab webhook jenkins 403问题解决方案

    1.gitlab webhook 403问题,一般描述为Error 403 anonymous is missing the Job/Build Permission 解决方法: 安装插件:gitla ...

  4. yarn.lock 是干什么的

    概述 今天本地运行尤大的vue-hackernews-2.0,使用 yarn 命令安装,报错提示 node 版本必须大于7小于9,如下所示: error upath@1.0.4: The engine ...

  5. 手动搭建redis cluster

    集群中至少应该有奇数个节点,所以至少有三个节点,每个节点至少有一个备份节点,所以下面使用6节点(主节点.备份节点由redis-cluster集群确定) 1.安装redis节点指定端口解压redis压缩 ...

  6. 阶段3 1.Mybatis_05.使用Mybatis完成CRUD_8 Mybatis中的返回值深入-调整实体类属性解决增和改方法的报错

    如果实体类和数据库表内的字段没有保持一致 修改了属性子弹. 重新生成getter和setter还有toString方法 测试类里面,相关set的方法就都会报错. 只需要修改为最新的set方法就可以了. ...

  7. 七:flask-一些小细节

    1.在局域网中,让其他电脑访问我的网站:host参数 如果设置为0.0.0.0,则在局域网中,输入当前项目所在的ip+端口就可以访问这个项目如果host设置为固定的ip,如host=‘'192.168 ...

  8. wpf 收集的不错的datagrid样式

    <ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" x ...

  9. 【HANA系列】SAP HANA SQL获取当前日期加若干天后的日期

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[HANA系列]SAP HANA SQL获取当前 ...

  10. MySQL explain,Extra分析(转)

    explain结果中有一个Extra字段,对分析与优化SQL有很大的帮助 数据准备: create table user ( id int primary key, name varchar(20), ...