

题解:

解决步骤
不要想着一次性就将所有直线放到这些平面上,应该一条一条的把直线放到平面上。
每次放入一条直线,看看这条直线会与平面上已有的直线产生多少个不同的交点。假如会产生a个交点,那么可以知道,放入了这条直线后,部分平面的个数会增加a+1。
从第2条直线开始遍历,然后将第二条直线之前的所有直线与它进行判断
n = eval(input())
line = [tuple(map(int,input().split(" "))) for i in range(n)]
se = set(line)
line = list(se) #去重后的线
if line:
ans=2
for i in range(1,len(line)):
a1,b1=line[i]
pos=set()
for j in range(i):
a2,b2=line[j]
if a1==a2:
continue
x=(b1-b2)/(a1-a2) #斜率
y=a1*x+b1
pos.add((x,y))
ans += len(pos)+1
print(ans)