1971F - Circle Perimeter - CodeForces Solution


binary search dfs and similar implementation

Please click on ads to support us..

Python Code:

import math

def count(r):
    count = 1+4*r+4*(sum(math.isqrt(r**2-a**2) for a in range(1,r)))
    return count
def c_cir(r):
	result = 0
	for x in range(1, r):
	    ySquare = r*r - x*x 
	    y = int(math.sqrt(ySquare))
	    if (y*y == ySquare):result += 4
	return result 
for _ in range(int(input())):
    r = int(input())
    print(count(r+1)-count(r)-c_cir(r+1)+c_cir(r))


Comments

Submit
0 Comments
More Questions

1256A - Payment Without Change
908B - New Year and Buggy Bot
979A - Pizza Pizza Pizza
731A - Night at the Museum
742A - Arpa’s hard exam and Mehrdad’s naive cheat
1492A - Three swimmers
1360E - Polygon
1517D - Explorer Space
1230B - Ania and Minimizing
1201A - Important Exam
676A - Nicholas and Permutation
431A - Black Square
474B - Worms
987B - High School Become Human
1223A - CME
1658B - Marin and Anti-coprime Permutation
14B - Young Photographer
143A - Help Vasilisa the Wise 2
320A - Magic Numbers
1658A - Marin and Photoshoot
514A - Chewbaсca and Number
382A - Ksenia and Pan Scales
734B - Anton and Digits
1080A - Petya and Origami
1642D - Repetitions Decoding
1440A - Buy the String
1658F - Juju and Binary String
478A - Initial Bet
981A - Antipalindrome
365A - Good Number