1088-三人行
⼦⽈:“三⼈⾏,必有我师焉。择其善者⽽从之,其不善者⽽改之。”
本题给定甲、⼄、丙三个⼈的能⼒值关系为:甲的能⼒值确定是 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
代码实现:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
| #include <bits/stdc++.h>
#include<bits/stdc++.h>
using namespace std;
void print(double x,int m){
if(x==m) cout<<" "<<"Ping";
if(x>m) cout<<" "<<"Cong";
if(x<m) cout<<" "<<"Gai";
}
int main() {
int m,x,y;
cin>>m>>x>>y;
int a,b;
double c;
for(a = 99;a>=10;a--){
b = a%10*10+a/10;
if(abs(a-b)*y == b*x){
c = (double)b/y;//是double类型就把double强制类型转换,不可马虎
cout<<a;
print(a,m);
print(b,m);
print(c,m);
return 0;
}
}
cout<<"No Solution";
return 0;
}
|