D


私信TA

用户名:ALS1111

访问量:22109

签 名:

等  级
排  名 55
经  验 11377
参赛次数 0
文章发表 132
年  龄 0
在职情况 学生
学  校
专  业

  自我简介:

TA的其他文章

解题思路:

注意事项:

参考代码:

n = int(input())    
A = set()    
for i in range(n):    
    k,b = map(int,input().strip().split())    
    A.add((k,b))    
A = list(A)      #去重后的每条线  
     
ans = 2    
for i in range(1,len(A)):    
    k1,b1 = A[i]    
    B = set()   
    for j in range(i):       #找出第i条线与之前的每条线的交点  
        k2,b2 = A[j]    
        if k1 == k2:         #平行时没有交点  
            continue    
        x = (b1-b2)/(k2-k1)    
        y = k1*x+b1    
        B.add((x,y))      
      
    ans = ans + len(B) + 1  #每次ans加交点个数加1
         
print(ans)



 

0.0分

7 人评分

  评论区

为什么ans=2,且for循环是从1开始,那这样第一条直线不会就跳过了吗,要是它和其它直线有交点呢
2024-04-09 17:24:44
  • «
  • 1
  • »