A:

简单题,因为题目中说了不会有数据相同;

 1 #include<cstdio>
 2 #include<algorithm>
 3 #define maxn 200005
 4 using namespace std;
 5 
 6 struct node
 7 {
 8     int a[3];
 9     int id;
10     bool operator <(const node &t)const
11     {
12         return a[2]<t.a[2];
13     }
14 }no[maxn];
15 
16 int bb[maxn],cnt,n;
17 
18 int main()
19 {
20     scanf("%d",&n);
21     int m2=0,m3=0;
22     for(int i=0;i<n;i++)
23     {
24         no[i].id=i;
25         scanf("%d%d%d",&no[i].a[0],&no[i].a[1],&no[i].a[2]);
26         sort(no[i].a,no[i].a+3);
27         if(m2<no[i].a[1])m2=no[i].a[1];
28         if(m3<no[i].a[0])m3=no[i].a[0];
29     }
30     sort(no,no+n);
31     for(int i=0;i<n;i++)
32     {
33         if(no[i].a[2]>=m2&&no[i].a[1]>=m3)
34             bb[cnt++]=no[i].id;
35     }
36     printf("%d\n",cnt);
37     sort(bb,bb+cnt);
38     for(int i=0;i<cnt;i++)printf("%d ",bb[i]+1);
39     return 0;
40 }
View Code

相关文章: