nyoj-240-小明的调查统计(二)

 1 #include<stdio.h>
 2 #include<algorithm>
 3 #include<functional>
 4 #include<string.h>
 5 #include<math.h>
 6 using namespace std;
 7 struct mark
 8 {
 9     int Mark,cl,gre;
10 }mark1[100010];
11 bool cmp(mark a,mark b)
12 {
13     if(a.Mark!=b.Mark) return a.Mark>b.Mark;
14     if(a.cl!=b.cl) return a.cl<b.cl;
15     if(a.gre!=b.gre) return a.gre<b.gre;
16 }
17 int main()
18 {
19     int n,t,m,i,j,flag=0;
20     scanf("%d%d",&t,&m);
21     for(j=0;j<t;j++)
22     {
23         scanf("%d",&n);
24         for(i=0;i<n;i++)
25         {
26                 scanf("%d",&mark1[flag].Mark);
27                 mark1[flag].cl=j+1;
28                 mark1[flag].gre=i+1;
29                 flag++;
30         }
31     }
32     sort(mark1,mark1+flag,cmp);
33     /*for(i=0;i<flag;i++)
34     printf("%d  %d  %d\n",mark1[i].Mark,mark1[i].cl,mark1[i].gre);*/
35     int f;
36     for(i=0;i<m;i++)
37     {
38         scanf("%d",&f);
39         if(f==1)
40             printf("%d %d\n",mark1[0].cl,mark1[0].gre);
41         int num=1;
42         for(j=1;j<flag;j++)
43         {
44             if(mark1[j].Mark!=mark1[j-1].Mark)
45             num++;
46             if(num==f)
47             {
48                 printf("%d %d\n",mark1[j].cl,mark1[j].gre);
49             }
50             if(num>f)
51             break;
52         }
53     }
54     return 0;
55 }

在输出的时候  因为少考虑输出最后一位一直wan   最后搞定了

posted @ 2013-07-07 15:39  nylg-haozi  阅读(182)  评论(0编辑  收藏  举报