P00587. 染色

P00587. 染色

传统题
1000ms
256MiB

Description

机房的窗户是一个n行m列的方格阵,n,m未知

小J准备对窗户进行染色

他准备将最外圈的方格染成红色的,其余方格染成黑色的。

现给出红色方格的个数r和黑色方格的个数b,也就是说你会知道一共有多少个格子。

请给出一组可行的n,m的取值。

Format

Input

输入只有一行两个整数,分别表示红色方格的个数r和黑色方格的个数b。

8≤r≤2×10 ^6

1≤b≤2×10 ^6

数据保证至少存在一组解

Output

输出一行两个整数,分别表示方格阵的行数n和列数m。

如果有多组解,请输出n最大的一组。

Samples

输入数据 1

8 1

输出数据 1

3 3

输入数据 2

10 2

输出数据 2

4 3

#include<bits/stdc++.h>
using namespace std;
int r,b,c,i,n,m;
int main() {
    
    
	cin>>r>>b;
	c=n=r+b;
	while((n-1+m-1)*2!=r&&(n-2)*(m-2)!=b) {
    
    
		n--;
		while(c%n) n--;
		m=c/n;
	}
	cout<<n<<" "<<m;
	return 0;
}

猜你喜欢

转载自blog.csdn.net/L6666688888/article/details/128452946