思路:
暴力枚举三个点 判一判 搞定 (x1*y1=x2*y2) x1、y1、x2、y2为他们两两的差//By SiriusRen#includeusing namespace std;int n,cnt; struct Point{ int x,y;}point[888];struct ans{ int x,y,z;}ans[888];int main(){ scanf("%d",&n); for(int i=1;i<=n;i++) scanf("%d%d",&point[i].x,&point[i].y); for(int i=1;i<=n;i++) for(int j=i+1;j<=n;j++) for(int k=j+1;k<=n;k++) if((point[i].x-point[j].x)*(point[j].y-point[k].y)==(point[j].x-point[k].x)*(point[i].y-point[j].y)) ans[++cnt].x=i,ans[cnt].y=j,ans[cnt].z=k; printf("%d\n",cnt); for(int i=1;i<=cnt;i++) printf("%d %d %d\n",ans[i].x,ans[i].y,ans[i].z);}