#include <iostream>
#include <cstring>
#include <algorithm>
using namespace std;
const int N = 5000010;
int n;
int C[N], D[N];
int main()
{
scanf("%d", &n);
memset(C, -1, sizeof C);
for (int c = 0; c * c <= n; c ++ )
for (int d = c ; d * d + c * c <= n; d ++ )
{
int s = c * c + d * d;
if (C[s] == -1)
C[s] = c, D[s] = d;
}
for (int a = 0; a * a <= n; a ++ )
for (int b = a; a * a + b * b <= n; b ++ )
{
int s = n - a * a - b * b;
if (C[s] != -1)
{
printf("%d %d %d %d\n", a, b, C[s], D[s]);
return 0;
}
}
return 0;
}
//只看第一个就行,就保证了字典序
1221. 四平方和 哈希
最新推荐文章于 2024-09-04 21:39:45 发布
![](https://img-home.csdnimg.cn/images/20240711042549.png)