第1週課題5タレット

884 ワード

  • 問題リンク
    リンクテキスト
  • 解答前の計画と思考
    ターゲットポイントが2つのフィレットの間にある場合、2つのフィレットがターゲットポイントと直線である場合、2つのフィレットの位置が同じである場合、異なる場合に分けて
  • を返します.
  • プール
  • def terret(pos1,pos2,r1,r2):
    	pow_dist_p1_p2 = ((pos1[0] - pos2[0]) ** 2 + (pos1[1] - pos2[1])**2) ** 0.5
    	if pow_dist_p1_p2 == 0 and r1 == r2:
    		return -1
    	else:
    		return 0
    	if r1 + r2 > pow_dist_p1_p2:
    		if r1 - r2 == pow_dist_p1_p2 or r2 - r1 == pow_dist_p1_p2: 
    			return 1
    		else:
    			return 2
    	elif  r1 + r2 == pow_dist_p1_p2 :
    		return 1
    	else:
    		return 0
    		
    output_list=[]
    case = int(input())
    for num in range(case):
    	x1,y1,r1,x2,y2,r2 = map(int,input().split())
    	pos1 = [x1,y1]
    	pos2 = [x2,y2]
    
    	output_list.append(terret(pos1,pos2,r1,r2))
    
    for num in range(case):
    	print(output_list[num])