题目要求:
完整代码块:
#include <stdio.h>
int main()
{
int i=0,j=0,k=0,n,a[4],b[49];
int sum=0,num=0,p=0;
int q[6][2]={1111111};//交点数组
scanf("%d",&n);
if(n==1) printf("2");
else{
for(i=0;i<n;i++){
scanf("%d%d",&a[i],&b[i]);
//TODO
}
for(i=0;i<n;i++)
{
for(j=i+1;j<n;j++){
if(a[i]!=a[j]&&a[i]!=-a[j])
{
q[k][0]=(b[i]-b[j])/(a[i]-a[j]);
q[k][1]=(a[j]*b[i]-a[i]*b[j])/(a[j]-a[i]);
k++;
}
//TODO
}
}
sum=k-1;
for(i=0;i<k;i++)
{if(q[i][0]!=1111111) {
for(j=i+1;j<k;j++){
if(q[i][0]==q[j][0]&&q[i][1]==q[j][1]&&q[j][0]!=1111111&&q[j][1]!=1111111&&q[i][0]!=1111111&&q[i][1]!=1111111) ++p;
//TODO
}}
}
sum=sum-p;
num=2+n-sum;
printf("%d",num);}
return 0;
}
样例输入:
3
1 1
2 2
3 3
样例输出:
6