特简单的站外题求调
  • 板块灌水区
  • 楼主chenxi797
  • 当前回复5
  • 已保存回复5
  • 发布时间2023/9/30 19:56
  • 上次更新2023/11/2 16:55:25
查看原帖
特简单的站外题求调
735165
chenxi797楼主2023/9/30 19:56
描述
给出一个矩形的长 a 和宽b ,以及对矩形期望的长宽比x:y ,要求尽量少的缩短矩形的长和宽(缩短之后的长和宽必须仍然是正整数),使得矩形的长和宽之比等于x:y ,求矩形最终的长和宽。
答案希望矩形的面积越大越好。
输入描述 (输入文件:matrix.in)
第一行:1个数T,表示测试数据的组数。
后面T行:每行包含四个整数 a,b,x,y 。
输出描述 (输出文件:matrix.out)
输出共T行,每行包含两个数,以空格隔开,表示矩形最终的长和宽。如果无法达到题目的要求则输出 0 0 。
样例输入 1 
3
800 600 4 3
1920 1200 16 9
1 1 1 2
样例输出 1 
800 600
1920 1080
0 0
提示
【数据范围】
1<=a,b,x,y<=2∗10⁹,1<=T<=100000。

我的代码:

#include <bits/stdc++.h>
using namespace std;
int main()
{
	double n,a,b,x,y,aa,bb;
	cin >> n; //次数
	for (int i = 1;i <= n;i++)
	{
		cin >> a >> b >> x >> y; //1920 1200 16 9
		int m = y / x; //长宽比值
		if (b / a == m && b / a == m) cout << a << ' ' << b << endl; //已经符合要求
		else if (x * 2 > a || y * 2 > b) cout << "0 0" << endl; //无法达到题目要求
		else
		{
			// 不会写了QWQ
			cout << aa << ' ' << bb << endl; //输出
		}
	}
}

要求使用freopen

2023/9/30 19:56
加载中...