zoukankan      html  css  js  c++  java
  • 1088 三人行(20 分)

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

    本题给定甲、乙、丙三个人的能力值关系为:甲的能力值确定是 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
    甲的能力值是两位整数,乙也是百内整数,能力值是甲能力的个位十位转换,abs(甲 - 乙) / x = 乙 / y,丙的能力显然不一定是整数。
    代码:
    #include <iostream>
    #include <cstdio>
    #include <cstdlib>
    #include <map>
    #include <cstring>
    #include <algorithm>
    
    using namespace std;
    int m,x,y,X = -1,Y;
    double Z;
    void print(double t) {
        if(t > m)printf(" Cong");
        else if(t < m)printf(" Gai");
        else printf(" Ping");
    }
    int main() {
        scanf("%d%d%d",&m,&x,&y);
        for(int i = 10;i <= 99;i ++) {
            int j = i % 10 * 10 + i / 10;
                int d = abs(i - j);
                if(d * y == j * x) {
                    X = i;
                    Y = j;
                    Z = j * 1.0 / y;
                }
        }
        if(X < 10) {
            printf("No Solution
    ");
        }
        else {
            printf("%d",X);
            print(X);
            print(Y);
            print(Z);
        }
    }
  • 相关阅读:
    通过设置iis在局域网中访问网页
    .NetCore集成Dapr踩坑经历
    Api跨域设置
    Win10安装.net2.0/3.0
    C# MVC 全局错误Application_Error中处理(包括Ajax请求)
    使用SignalR从服务端主动推送警报日志到各种终端(桌面、移动、网页)
    C#设计模式学习笔记:(4)建造者模式
    .NET CORE(C#) WPF简单菜单MVVM绑定
    值类型与引用类型的区别
    [博客美化]给你博客添加一个萌萌的看板娘吧
  • 原文地址:https://www.cnblogs.com/8023spz/p/9617450.html
Copyright © 2011-2022 走看看