求解,T480717 value

value

题目背景

从前有个荣光的王国,小 A 是里面的国王,今天他要赐予他的子民以价值。

题目描述

小 A 发现他的国家的价值可以使用 x , y , z , w x, y, z, w x,y,z,w 四个非负整数衡量。但是为了维持平衡,现在他想要让 x x x z z z y y y w w w 保持一个相对稳定的比例。

现在他想要知道,是否可以找到一个正整数 c c c,使得 x = z × c x = z \times c x=z×c y = w × c y = w \times c y=w×c。请你帮助他找到这个正整数。

输入格式

一行四个整数 x , y , z , w x, y, z, w x,y,z,w

输出格式

一行一个整数。如果可以找到一个正整数 c c c 满足题目的条件,则输出这个 c c c。否则输出 − 1 -1 1

样例 #1

样例输入 #1

9 6 3 2

样例输出 #1

3

样例 #2

样例输入 #2

7 2 3 5

样例输出 #2

-1

样例 #3

样例输入 #3

0 6 0 2

样例输出 #3

3

提示

样例解释

  • 可以发现 9 = 3 × 3 , 6 = 3 × 2 9 = 3 \times 3, 6 = 3 \times 2 9=3×3,6=3×2 3 3 3 可以成为样例 1 的 c c c
  • 对样例 2,不能找到任何一个正整数 c c c 满足题目条件。
  • 需要注意 x , y , z , w x, y, z, w x,y,z,w 有可能是 0 0 0

数据规模与约定

100 % 100\% 100% 的数据,保证 0 ≤ x , y , z , w ≤ 1 0 3 0 \leq x, y, z, w \leq 10^3 0x,y,z,w103,且 x , y , z , w x, y, z, w x,y,z,w 不同时为 0 0 0。、

不难证明在给定的情况下答案 c c c 只有至多一个。

#include <iostream>
using namespace std;
int main() {
	int x, y, z, w;
	cin >> x >> y >> z >> w;
// 处理 x 和 z 的关系
	if (x == 0 && z == 0) {
		// x 和 z 同时为0,但题目要求不同时为0,所以这种情况不会发生
		// 但为了代码的完整性,这里可以添加一个错误处理或继续执行
		cout << "-1" << endl;
		return 0;
	}
	if (x == 0 || z == 0) {
		// x 或 z 为0,不存在满足条件的 c
		cout << "-1" << endl;
		return 0;
	}
	int c_xz = x / z; // 注意这里使用整数除法
	if (x % z != 0) {
		// x 不是 z 的整数倍
		cout << "-1" << endl;
		return 0;
	}

// 处理 y 和 w 的关系
	if (y == 0 && w == 0) {
		// y 和 w 同时为0,但不影响 x 和 z 的结果,所以继续执行
	}
	if (y == 0 || w == 0) {
		// y 或 w 为0,但我们需要检查另一个是否也为0且x/z的结果是否有效
		if (y == 0 && w != 0 || y != 0 && w == 0) {
			// 只有一个为0,且x/z的结果有效,但y和w的比例不满足,所以答案为-1
			cout << "-1" << endl;
			return 0;
		}
		// 如果y和w都为0,且x/z的结果有效,则c可以是任意正整数(但题目只要求一个),这里取c_xz
	}
	int c_yw = y / w; // 注意这里也使用整数除法
	if (y % w != 0) {
		// y 不是 w 的整数倍
		cout << "-1" << endl;
		return 0;
	}

// 检查通过x/z和y/w得到的c是否相同
	if (c_xz == c_yw) {
		cout << c_xz << endl;
	} else {
		cout << "-1" << endl;
	}

	return 0;
}

相关推荐

  1. 求解,T480717 value

    2024-07-20 01:38:04       18 阅读
  2. 题解:T480718 eating

    2024-07-20 01:38:04       18 阅读
  3. 题解:T480715 true

    2024-07-20 01:38:04       20 阅读
  4. 行列式求解

    2024-07-20 01:38:04       29 阅读
  5. Hive_last_value()

    2024-07-20 01:38:04       41 阅读
  6. 【Spring高级】@Value注解

    2024-07-20 01:38:04       30 阅读
  7. SpringBoot @Value注解优化

    2024-07-20 01:38:04       16 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-20 01:38:04       52 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-20 01:38:04       54 阅读
  3. 在Django里面运行非项目文件

    2024-07-20 01:38:04       45 阅读
  4. Python语言-面向对象

    2024-07-20 01:38:04       55 阅读

热门阅读

  1. 离散型以及连续型随机变量

    2024-07-20 01:38:04       15 阅读
  2. Ubuntu网络服务管理

    2024-07-20 01:38:04       15 阅读
  3. 智能合约的重入攻击

    2024-07-20 01:38:04       14 阅读
  4. 第一篇:VUE介绍

    2024-07-20 01:38:04       20 阅读
  5. 为什么音频的采样率是44.1K不是40K也不是42K

    2024-07-20 01:38:04       15 阅读
  6. centos8安装oracle11g

    2024-07-20 01:38:04       20 阅读
  7. 调用第三方接口-RestTemplate

    2024-07-20 01:38:04       15 阅读
  8. 递归式函数

    2024-07-20 01:38:04       19 阅读