题目链接:
http://lightoj.com/login_main.php?url=volume_showproblem.php?problem=1008
题目大意:就是这样子的一个图,可以往后无限延续的,闲杂我给你这个数N问你N的位置是啥?
可能位置和你想的不大一样,给几组样例吧:
Sample Input
3
8
20
25
Sample Output
Case 1: 2 3
Case 2: 5 4
Case 3: 1 5
代码:
#include<iostream>
#include<cstring>
#include<cstdio>
#include<algorithm>
#include<cmath>
#define ll long long
using namespace std;
/*
lla[10000050];
void init()
{
a[0]=0;
for(lli=1;i<=10000005;i++)
a[i]=i*i;
}*/
int main()
{
//init();
/*for(lli=1;i<=10000005;i++)
{
cout<<a[i]<<" ";if(i%10==0)cout<<endl;
}*/
ll kase=1;
ll t,n;scanf("%lld",&t);
while(t--)
{
scanf("%lld",&n);
/*llk=lower_bound(a,a+n+1,n)-a;
cout<<k<<endl;*/
ll k=sqrt(n);
if(k*k!=n)
k++;
//cout<<k<<endl;
ll m=k*k;
ll heng=k,lie=k;
if(k%2==0)
{
if(m-k+1>n)
heng=k-(m-k+1-n);
else if(m-k+1<n)
lie=k-(n-(m-k+1));
}
else
{
if(m-k+1<n)
heng=k-(n-(m-k+1));
else if(m-k+1>n)
lie=k-(m-k+1-n);
}
printf("Case %lld: %lld %lld\n",kase++,heng,lie);
}
}