立志用最少的代码做最高效的表达


PAT乙级最优题解——>传送门


子曰:“三人行,必有我师焉。择其善者而从之,其不善者而改之。”

本题给定甲、乙、丙三个人的能力值关系为:甲的能力值确定是 2 位正整数;把甲的能力值的 2 个数字调换位置就是乙的能力值;甲乙两人能力差是丙的能力值的 X 倍;乙的能力值是丙的 Y 倍。请你指出谁比你强应“从之”,谁比你弱应“改之”。

输入格式:
输入在一行中给出三个数,依次为:M(你自己的能力值)、X 和 Y。三个数字均为不超过 1000 的正整数。

输出格式:
在一行中首先输出甲的能力值,随后依次输出甲、乙、丙三人与你的关系:如果其比你强,输出 Cong;平等则输出 Ping;比你弱则输出 Gai。其间以 1 个空格分隔,行首尾不得有多余空格。

注意:如果解不唯一,则以甲的最大解为准进行判断;如果解不存在,则输出 No Solution。

输入样例 1:
48 3 7
输出样例 1:
48 Ping Cong Gai

输入样例 2:
48 11 6
输出样例 2:
No Solution


解析

甲的取值范围是[99,10],从大到小遍历,然后带入公式计算即可。

最后可以通过函数复用的方式简化代码。

注意:测试点4中的丙为小数(这个测试点卡了我好久,因为最初是用乘法算的,出了错,干瞪眼想了一个小时愣是看不出哪里有问题, 一搜题解, 恍然大悟! 哎真缺德呀)


代码

#include<bits/stdc++.h>
using namespace std;void output(double a, double b, bool flag) {if(b > a) cout << "Cong";else if(a == b) cout << "Ping";else cout << "Gai";if(flag) cout << ' ';
}int main() {int m, x, y; cin >> m >> x >> y;double jia = -1, yi = -1, bing = -1;int i; for(i = 99; i >= 10; i--) {   //甲 int b = i/10+(i%10)*10;           //乙 double c = abs(i-b)/(x*1.0);   //丙 if(c*y == b) {jia = i; yi = b; bing = c;break; }}if(jia == -1) cout << "No Solution\n";else {cout << jia << ' '; output(m, jia, true);output(m, yi, true);output(m, bing, false);putchar('\n');}return 0;
}

耗时


每日一句

零星的变好,最后也会如星河般闪耀。

【测试点分析】1088 三人行 (20分)_29行代码AC相关推荐

  1. 【最详细】测试点分析_1051 复数乘法 (15分)_14行代码AC

    立志用更少的代码做更高效的表达 Pat乙级最优化代码+题解+分析汇总-->传送门 复数可以写成 (A+Bi) 的常规形式,其中 A 是实部,B 是虚部,i 是虚数单位,满足 i2=−1i^2=− ...

  2. 1081 Rational Sum (20 分)_22行代码AC

    立志用最少的代码做最高效的表达 PAT甲级最优题解-->传送门 Given N rational numbers in the form numerator/denominator, you a ...

  3. 【测试点分析】1067 试密码 (20分)_20行代码AC

    立志用更少的代码做更高效的表达 Pat乙级最优化代码+题解+分析汇总-->传送门 当你试图登录某个系统却忘了密码时,系统一般只会允许你尝试有限多次,当超出允许次数时,账号就会被锁死.本题就请你实 ...

  4. 【测试点分析】1072 开学寄语 (20分)_42行代码AC

    立志用更少的代码做更高效的表达 Pat乙级最优化代码+题解+分析汇总-->传送门 下图是上海某校的新学期开学寄语:天将降大任于斯人也,必先删其微博,卸其 QQ,封其电脑,夺其手机,收其 ipad ...

  5. 测试点分析:1048 数字加密 (20分)_16行代码AC

    立志用更少的代码做更高效的表达 Pat乙级最优化代码+题解+分析汇总-->传送门 本题要求实现一种数字加密方法.首先固定一个加密用正整数 A,对任一正整数 B,将其每 1 位数字与 A 的对应位 ...

  6. 测试点3的分析:1022 D进制的A+B (20分)——15行代码AC

    立志用更少的代码做更高效的表达 PAT乙级最优题解-->传送门 输入两个非负 10 进制整数 A 和 B (≤2​30−1),输出 A+B 的 D (1<D≤10)进制数. 输入格式: 输 ...

  7. 【测试点2超时问题】1046 Shortest Distance (20 分)_21行代码AC

    立志用最少的代码做最高效的表达 PAT甲级最优题解-->传送门 The task is really simple: given N exits on a highway which forms ...

  8. 【详细分析】1023 Have Fun with Numbers (20 分)_20行代码AC

    立志用最少的代码做最高效的表达 PAT甲级最优题解-->传送门 Notice that the number 123456789 is a 9-digit number consisting e ...

  9. 1094 谷歌的招聘 (20分)_25行代码AC

    立志用最少的代码做更高效的表达 PAT乙级最优题解-->传送门 2004 年 7 月,谷歌在硅谷的 101 号公路边竖立了一块巨大的广告牌(如下图)用于招聘.内容超级简单,就是一个以 .com ...

最新文章

  1. fastadmin的基本用法 自动生成crud模块
  2. mysql DbProviderFactories.GetFactory失败,解决方法
  3. RabbitMQ之TTL(Time-To-Live 过期时间)
  4. C语言试题五十一之已知学生的记录是由学号和学习成绩构成,n名学生的数据已存入s结构体数组中。请编写函数fun,该函数的功能是:找出成绩最高的学生记录,通过形参返回主函数(规定只有一个最高分)。
  5. SAP License:SAP All-in-One产品特点
  6. Java【第六篇】面向对象基础
  7. 一款PO VO DTO 转换神器,求求你别在到处找工具类了!
  8. pytorch的变量variable
  9. Python中IO编程-文件读写
  10. 往后余生-程序员版,哈哈哈
  11. 华纳云告知您,企业上云的十大优势
  12. 手机桌面计算机显示,手机如何显示在桌面?敬业签电脑手机同步云便签怎么在桌面显示便签?...
  13. 统一组织机构信用代码(从正则到方法验证,JavaScript)
  14. 安卓手机连接不上电脑的解决方法 adb devices 找不到设备
  15. /dev/sdb1: Not enough space to build proposed filesystem while setting up superblock
  16. 卷积神经网络——vgg16网络及其python实现
  17. valueOf()方法详解
  18. Linux 探索之旅 | 开宗明义 + 第一部分第一课:什么是 Linux?
  19. Win8开始菜单方案第N+1种
  20. 【POJ3904】【P1202】水晶密码

热门文章

  1. C语言程序设计 | 指针(二):常量指针和指针常量、数组参数和指针参数、函数指针数组
  2. 深入理解分布式消息队列
  3. LVS+Keepalived实现负载均衡和双机热备
  4. 史上最详细的MySQL操作事例
  5. 音视频技术开发周刊 | 206
  6. 使用VoiceFliter-Lite改进设备上的语音识别
  7. 无参考质量评估在视频增强的进展与应用
  8. 世界杯直播背后:腾讯云极速高清技术部署实录
  9. 《Go语言圣经》学习笔记 第三章 基础数据类型
  10. go 原子操作 atomic