Submission #70271762
Source Code Expand
import math def gutyoku(C, D): cnt = 0 for i in range(1, D + 1): S = int(str(C) + str(C + i)) x = math.isqrt(S) if(x * x == S): # print(x, S, C, i, C + i) cnt += 1 return cnt def solve(C, D): cnt = 0 y = math.isqrt(int(str(C) + str(C))) MAX_V = int(str(C) + str(C + D)) # print(y) SC = str(C) while y * y <= MAX_V: y += 1 S = str(y * y) is_ok = True print(y * y) print(MAX_V) for j in range(len(SC)): if(SC[j] != S[j]): is_ok = False break if(is_ok): print(S) Rest = S[len(SC):] if(Rest[0] == "0"): continue if(int(Rest) - C > D): return cnt if(int(Rest) - C >= 1): cnt += 1 def solve2(C, D): cnt = 0 # SC = str(C) MIN_LEN = len(str(C + 1)) MAX_LEN = len(str(C + D)) for i in range(MIN_LEN, MAX_LEN + 1): if(i == MIN_LEN): y = math.isqrt(int(str(C) + str(C).zfill(i))) + 1 # print(str(C) + str(C).zfill(i)) else: y = math.isqrt(int(str(C) + "0" + "9" * (i - 1))) + 1 # print(str(C) + "1" + "0" * (i - 1)) # print(int(str(C) + str(C).zfill(i))) if(i == MAX_LEN): y2 = math.isqrt(int(str(C) + str(C + D))) + 1 # print # print(int(str(C) + str(C + D))) else: y2 = math.isqrt(int(str(C) + "9" * i)) + 1 # print(int(str(C) + "9" * i)) # print(1353**2) # print(y, y2) # print(429 ** 2) cnt += (y2 - y) # while True: # y += 1 # S = str(y * y) # # print(S) # is_ok = True # for j in range(len(SC)): # if(SC[j] != S[j]): # # print(S) # is_ok = False # break # if(is_ok): # # print(S) # Rest = S[len(SC):] # if(Rest[0] == "0"): # continue # # print(Rest, D) # if(int(Rest) - C > D): # return cnt # if(int(Rest) - C >= 1): # cnt += 1 # else: # break # break return cnt # import random # random.seed(154) # while True: # C = random.randint(1, 100) # D = random.randint(1, 10) # print() # ans1 = gutyoku(C, D) # ans2 = solve2(C, D) # if(ans1 != ans2): # print(C, D) # print(ans1, ans2) # break T = int(input()) for _ in range(T): C, D = map(int, input().split()) print(solve2(C, D))
Submission Info
Submission Time | |
---|---|
Task | D - 183184 |
User | Koi51 |
Language | Python (PyPy 3.10-v7.3.12) |
Score | 400 |
Code Size | 2891 Byte |
Status | AC |
Exec Time | 1270 ms |
Memory | 87108 KiB |
Judge Result
Set Name | Sample | All | ||||
---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 400 / 400 | ||||
Status |
|
|
Set Name | Test Cases |
---|---|
Sample | 00-sample-01.txt |
All | 00-sample-01.txt, 01-01.txt, 01-02.txt, 01-03.txt, 01-04.txt, 01-05.txt, 01-06.txt, 01-07.txt, 01-08.txt, 01-09.txt |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
00-sample-01.txt | AC | 57 ms | 76444 KiB |
01-01.txt | AC | 1216 ms | 86760 KiB |
01-02.txt | AC | 1270 ms | 87108 KiB |
01-03.txt | AC | 815 ms | 84092 KiB |
01-04.txt | AC | 863 ms | 84448 KiB |
01-05.txt | AC | 1244 ms | 86164 KiB |
01-06.txt | AC | 903 ms | 85048 KiB |
01-07.txt | AC | 782 ms | 84216 KiB |
01-08.txt | AC | 961 ms | 85576 KiB |
01-09.txt | AC | 1048 ms | 84768 KiB |