hdu1.3.3

来源:互联网 发布:mysql本地数据库地址 编辑:程序博客网 时间:2024/06/05 14:33

#include <stdio.h>

#include <string.h>

typedef struct STU{

    char s[22];

    long int nright;

    long int rightt[10];

    long int am;

}stu;

int main(){

    int n,m,g,t,i,j;

    long int cm[10];

    stu stu[1010],st;

    while (scanf("%d",&n)!=EOF&&n) {

        scanf("%d",&m);

        scanf("%d",&g);

        for (t=0;t<m;++t){

            scanf("%ld",&cm[t]);

        }

        for (i=0; i<n; ++i) {

            stu[i].am=0;

            scanf("%s",stu[i].s);

            getchar();

            scanf("%ld",&stu[i].nright);

            for (j=0; j<stu[i].nright; ++j) {

                scanf("%ld",&stu[i].rightt[j]);

                stu[i].am+=cm[stu[i].rightt[j]-1];

            }

        }

        for (i=0; i<n-1; ++i) {

            for (j=0; j<n-i-1; ++j) {

                if (stu[j].am<stu[j+1].am) {

                    st=stu[j];stu[j]=stu[j+1];stu[j+1]=st;

                }

            }

        }

        for (i=0; i<n-1; ++i) {

            for (j=0; j<n-i-1; ++j) {

                if (stu[j].am==stu[j+1].am) {

                    if (strcmp(stu[j].s, stu[j+1].s)>0) {

                        st=stu[j];stu[j]=stu[j+1];stu[j+1]=st;

                    }

                }

            }

        }

        

        for (i=0; i<n; ++i) {

            if (stu[i].am<g) {

                printf("%d\n",i);

                break;

            }

        }

        if (i==n) { //这里注意

            printf("%d\n",i);

        }

        for (j=0; j<i; ++j) {

            printf("%s %ld\n",stu[j].s,stu[j].am);

        }

    }

    return 0;

}

0 0
原创粉丝点击