经观察可得:n需要满足以下条件n^2>=a+b&&ceil(n^2/2)>=max(a,b)
#include <iostream>
#include<cmath>
using namespace std;
int T;
void solve(int a,int b)
{
if(a<b) solve(b,a);
else
{
int t;
if(!a%2)t=2*a;
else if(a==b)t=2*a;
else t=2*a-1;
int n=sqrt(t);
while(n*n<t)n++;
cout<<n<<endl;
}
}
int main()
{
cin>>T;
while(T--)
{
int a,b;
cin>>a>>b;
solve(a,b);
}
return 0;
}
// 64 位输出请用 printf("%lld")

京公网安备 11010502036488号