[Python] 1011번

체인지영·2021년 3월 29일
0

[Python] 백준

목록 보기
5/12
                       1
          0            1            2
          0            1            2            3
          
          
y-x : 1    (      )  1  
1  1    
2  1  1
3  1  1  1
4  1  2  1
5  1  2  1  1
6  1  2  2  1
7  1  2  2  1  1
8  1  2  2  2  1
9  1  2  3  2  1
10 1  1  2  3  2  1
11 1  2  2  3  2  1
12 1  2  3  3  2  1
13 1  1  2  3  3  2  1
14 1  2  2  3  3  2  1
15 1  2  3  3  3  2  1
16 1  2  3  4  3  2  1


제곱수 (마지막을 담당 )
1                 4               9                16
1          3 3 3 3                5                7 
       1*2             (1+2)*2         (1+2+3)*2
  2 2 2 2                4                 6
  
  
import sys
import math

def distance(number):
    s = 0
    global sqr
    sqr = int(math.sqrt(number))
    for i in range(1,sqr+1):
        s += i 
    if s*2 >= number >sqr**2:
        return sqr*2
    elif number ==sqr**2:
        return sqr*2-1
    else :
        return sqr*2+1
    



T = int(sys.stdin.readline())
for _ in range(T):
    x,y = map(int,sys.stdin.readline().split())
    D = y - x
    print(distance(D))
profile
Startup, FrontEnd, BlockChain Developer

0개의 댓글