还是题意没有理解清楚
根本没有理解想要求的是什么
其实就是
先给出数字组数
再给出想要得到的三角形数n
然后给出3*n个点(包括x、y)
最后结果需要输出得到的三角形的坐标
#include <iostream>
#include <algorithm>
using namespace std;
struct Triangle
{
int x,y,id;
}a[10010];
bool cmp(Triangle A,Triangle B)//按横坐标排序
{
return A.x<B.x;
}
int main()
{
int t,n,i,j;
cin >> t;
while(t--)
{
cin >> n;
for(i=1; i<=3*n; i++)
{
a[i].id=i;
cin >> a[i].x >> a[i].y;
}
sort(a+1,a+3*n+1,cmp);//存的时候是从第一个开始的,排序也要注意
for(i=1; i<=3*n; i+=3)
cout << a[i].id << " " << a[i+1].id << " " << a[i+2].id << endl;
}
return 0;
}
因为题目中有说没有三点共线,所以可以这样做