CF1560C Infinity Table

思路

根据第一列是完全平方数可知,$(i,1)\rightarrow i^2$,$(1,i)=(i-1)^2+1$,$(i,i)=\frac{i^2+(i-1)^2+1}{2}$。由此可以推算任意$n$的位置。

代码

1
2
3
4
5
6
7
8
9
10
11
12
import math
_t=int(input())
for _c in range(_t):
n=int(input())
s=math.ceil(math.sqrt(n))
mid=(pow(s-1,2)+1+pow(s,2))>>1
if(n<=mid):
ans=(n-pow(s-1,2),s)
else:
ans=(s,pow(s,2)-n+1)
print(ans[0],ans[1])