求调 80pts
  • 板块学术版
  • 楼主goodfish
  • 当前回复1
  • 已保存回复1
  • 发布时间2024/7/20 11:25
  • 上次更新2024/7/20 13:08:44
查看原帖
求调 80pts
759862
goodfish楼主2024/7/20 11:25

WA 了两个点

题面:

[语言月赛 202407] value

题目背景

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

题目描述

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

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

输入格式

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

输出格式

一行一个整数。如果可以找到一个正整数 cc 满足题目的条件,则输出这个 cc。否则输出 −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×29 = 3 \times 3, 6 = 3 \times 2,33 可以成为样例 1 的 cc。
  • 对样例 2,不能找到任何一个正整数 cc 满足题目条件。
  • 需要注意 x,y,z,wx, y, z, w 有可能是 00。

数据规模与约定

对 100%100\% 的数据,保证 0≤x,y,z,w≤1030 \leq x, y, z, w \leq 10^3,且 x,y,z,wx, y, z, w 不同时为 00。

代码:

#include <iostream>
using namespace std;
typedef long double ll;
		
ll x,y,z,w;
		
int isInteger(double num){
	if(num == (int)num && num>0)
		return 1;
	else
		return 0;
}
		
int main(){
	cin>>x>>y>>z>>w;
	if (x/z == y/w && isInteger(x/z))
		cout<<x/z;
	else
		cout<<-1;
	return 0;
}

测评记录

是有条件没算还是什么?

2024/7/20 11:25
加载中...