Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 132768/132768 K (Java/Others)
Total Submission(s): 304    Accepted Submission(s): 170
Special Judge


Problem Description
Chiaki has n points.
 

 

Input
There are multiple test cases. The first line of input contains an integer 10000.
 

 

Output
For each test case, output i-th triangle use. If there are multiple solutions, you can output any of them.
 

 

Sample Input
1 1 1 2 2 3 3 5
 

 

Sample Output
1 2 3

 题意:给你3*n个点,求你构造出的n个三角形的id位置(之前输入的位置)是哪些 ,三角形不能重合

题解:按照x轴排序,然后依次输出就行,注意只能用scanf输入,不然会T

#include <bits/stdc++.h>
using namespace std;
const int maxn = 1e4+5;
struct node{
  int x,y,id;
  bool operator < (const node & a)const{
    return x<a.x;
  }
}p[maxn];
int main(int argc, char const *argv[]) {
  int T;
  scanf("%d",&T);
  while(T--){
    int n;
    scanf("%d",&n);
    for(int i=1;i<=n*3;i++){
      scanf("%d %d",&p[i].x,&p[i].y);
      p[i].id=i;
    }
    sort(p+1,p+n*3+1);
    for(int i=1;i<=n*3;i+=3){
      printf("%d %d %d\n",p[i].id,p[i+1].id,p[i+2].id);
    }
  }
  return 0;
}

 

相关文章: