思路:由费马大定理知a^n+b^n=c^n当n>2时无整数解,所以n==0和n>2时输出-1 -1,n==1时输出1,a+1,n==2时,由奇偶数列法
(https://blog.csdn.net/Dilly__dally/article/details/82081922)知a为奇数时,b=n*n+(n+1)*(n+1)-1,c=b+1;a为偶数时,b=n*n,c=b+2 求解
#include<bits/stdc++.h>
using namespace std;
#define inf 0x3f3f3f3f
#define ll long long
const int maxn=200005;
const double eps=1e-8;
const double PI = acos(-1.0);
#define lowbit(x) (x&(-x))
int main()
{
int t;
cin>>t;
while(t--)
{
int n,a;
scanf("%d %d",&n,&a);
if(n>2||n==0)
{
printf("-1 -1\n");
}
else if(n==1)
{
printf("1 %d\n",a+1);
}
else if(n==2)
{
if(a%2)
{
n=(a-1)/2;
printf("%d %d\n",n*n+(n+1)*(n+1)-1,n*n+(n+1)*(n+1));
}
else
{
n=a/2;
printf("%d %d\n",n*n-1,n*n+1);
}
}
}
return 0;
}