列表

详情


NC231612. 加入光荣的进化吧!

描述

“机械化的心脏永不停搏,也不受制于情绪。那为什么人还要将性命托付于脆弱的血肉心肌?”
——维克托

维克托要用三块海克斯核心对自身进行机械改造,三块海克斯核心的能量值需要满足某个条件才能发挥作用,能量值只能为正整数,且有一个最大能达到的值。

维克托经过研究,他发现只有能量值的和等于能量值的最小公倍数时,海克斯核心才能发挥作用。维克托想知道,在现有的能量约束下,在多少种情况下海克斯核心能发挥作用。

给定三个正整数X,Y,Z,求有**多少个不同的三元组**(x,y,z)(三元组(x_1,y_1,z_1)(x_2,y_2,z_2)相同当且仅当三个等式同时成立)满足以下条件:

-
-

其中lcm(x,y,z)表示x,y,z三个正整数的最小公倍数,即**同时**是x,y,z三个正整数的整数倍数的**最小的正整数**。

输入描述

T组数据,输入的第一行包括一个正整数T;

接下来T行每组包含三个正整数X,Y,Z

输出描述

T行,对于每组数据,输出满足条件的三元组(x,y,z)的个数。

示例1

输入:

2
1 1 1
2 2 2

输出:

0
0

原站题解

上次编辑到这里,代码来自缓存 点击恢复默认模板

C++ 解法, 执行用时: 425ms, 内存消耗: 2336K, 提交时间: 2021-12-15 18:13:21

#include <bits/stdc++.h>
using namespace std;
int main()
{
	int t,x,y,z;
	cin>>t;
	while(t--)
	{
		scanf("%d%d%d",&x,&y,&z);
		cout<<min(x,min(y/2,z/3))+min(x,min(z/2,y/3))+min(y,min(x/2,z/3))+min(y,min(z/2,x/3))+min(z,min(x/2,y/3))+min(z,min(y/2,x/3))<<endl;
	}
	return 0;
}

Python3 解法, 执行用时: 1401ms, 内存消耗: 6444K, 提交时间: 2021-12-12 12:33:54

t=int(input())
while t:
    x,y,z=map(int,input().split())
    print(min(x,y//2,z//3)+min(x,y//3,z//2)+min(x//2,y//3,z)+min(x//3,y//2,z)+min(x//3,y,z//2)+min(x//2,y,z//3))
    t-=1

上一题