洛谷P1618 三连击(升级版) (详细注释 + C++)

题目描述

将1,2,…,9 共 9 个数分成三组,分别组成三个三位数,且使这三个三位数的比例是 A:B:C,试求出所有满足条件的三个三位数,若无解,输出 No!!!

//感谢黄小U饮品完善题意

输入格式

三个数,A,B,C.

输出格式

若干行,每行 3 个数字。按照每行第一个数字升序排列。

输入输出样例

输入 #1复制

1 2 3

输出 #1复制

192 384 576
219 438 657
273 546 819
327 654 981

说明/提示

保证 A<B<C

//本题是P1008的升级版,原题是1:2:3,本题只是更改了比例而已,解题思路相同,只需要稍加改动即可,原题的题解详见https://blog.csdn.net/qq_45472866/article/details/104090334(详细注释+ 2种方法)

#include<iostream>
#include<algorithm>
using namespace std;

int sum(int x);
int fact(int x);              
int gcd(int x,  int y)   //求x,y的最大公约数(辗转相除法),详见https://blog.csdn.net/qq_45472866/article/details/104059702

int main() {
    int a, b, c, cnt;
    cin >> a >> b >> c;
    int k = gcd(gcd(a, b), c);
    a /= k;  b /= k;  c /= k;            //本行和上行有没有都可,但题目中没有说明a、b、c互质,如果给出的数据不互质就可能溢出
    int x, y, z, max;
    cnt = 0;
    max = 999 * a / c;         //得到a的最大值,以免多做无用功
    for (x = 123; x <= max; x++) {     //其他和P1008的题解一样,在此不再重复说明
        if(x % a == 0){
            y = x * b / a;     //突然发现上面那两行真没必要,如果先除以a再乘以b就不会溢出了,哈哈(有点尴尬啊!)
            z = x * c / a;
            if (sum(x) + sum(y) + sum(z) == 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 && fact(x) * fact(y) * fact(z) == 1 * 2 * 3 * 4 * 5 * 6 * 7 * 8 * 9) {
                cout << x  << " "<< y << " " << z << endl;
                cnt++;
            }
        }
    }

    if (!cnt)
        cout << "No!!!";

    return 0;
}

int sum(int x) {
    return x % 10 + (x / 10) % 10 + x / 100;
}
int fact(int x) {
    return (x % 10) * ((x / 10) % 10) * (x / 100);
}

int gcd(int x, int y) {
    int r = x % y;
    if (!r)
        return y;
    return gcd(y, r);
}

 

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
基于动态图神经网络的异常流量检测python源码是一个使用动态图神经网络实现的异常流量检测系统,下面是详细的说明和模型解释: 1. 项目说明: - 目标:该项目的目标是通过动态图神经网络来检测网络流量中的异常行为,以识别可能的网络攻击或异常流量情况。 - 源码语言:该项目使用Python作为开发语言。 2. 详细注释: - 源码中加入了详细注释,以便开发者理解每行代码的功能和作用。 3. 模型: - 动态图神经网络(Dynamic Graph Neural Network)是一种基于图神经网络模型,用于处理动态变化的图结构。这种模型能够适应网络流量数据发生变化的情况,并根据最新的网络流量信息进行异常检测。 - 该模型基于图结构数据,其中节点表示网络中的不同主机或设备,边表示主机或设备之间的连接关系。模型将网络流量数据转换为图数据,并使用动态图神经网络来分析节点和边的特征,以检测异常行为。 - 模型的输入包括节点特征和边特征,节点特征可以是主机或设备的网络活动情况,边特征可以是节点之间的网络通信情况。 - 模型的输出是异常行为的预测结果,即对网络中每个节点的异常可能性进行预测和评分。 - 模型的训练过程包括使用已标记的正常和异常网络流量数据来训练模型,并使用交叉熵或其他损失函数来优化模型的预测能力。 总结:基于动态图神经网络的异常流量检测python源码是一个使用动态图神经网络模型实现的异常流量检测系统,通过对网络流量数据进行图转换和节点、边特征分析,能够识别网络中的异常行为。源码中包含详细注释说明,有助于理解每行代码的功能和作用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值