zoukankan      html  css  js  c++  java
  • 1075. PAT Judge (25)

      1 #include <stdio.h>
      2 #include <algorithm>
      3 using namespace std;
      4 
      5 struct MyStruct
      6 {
      7     int grade[6];
      8     int Done[6];
      9     int Perfect;
     10     int sum;
     11     int ID;
     12     int num;
     13 };
     14 
     15 int cmp(MyStruct a,MyStruct b)
     16 {
     17     if(a.sum != b.sum ) return a.sum > b.sum;
     18     if(a.Perfect != b.Perfect) return a.Perfect > b.Perfect;
     19     return a.ID < b.ID;
     20 }
     21 
     22 MyStruct Student[10001];
     23 MyStruct SqueStu[10001];
     24 int main()
     25 {
     26     int StuNum,ProNum,SubNum;
     27     int ProValue[6];
     28     int i,j;
     29     while(scanf("%d %d %d",&StuNum,&ProNum,&SubNum)!=EOF)
     30     {
     31         for(i=1;i<=StuNum;i++)
     32         {
     33             for(j=1;j<=5;j++)
     34             {
     35                 Student[i].grade[j]=-1;
     36                 Student[i].Done[j]=0;
     37             }
     38             Student[i].Perfect=0;
     39         }
     40         getchar();
     41         for(i = 1;i<=ProNum;i++)
     42             scanf("%d",&ProValue[i]);
     43 
     44         for(i=1;i<=SubNum;i++)
     45         {
     46             getchar();
     47             int TemID,TemProID,TemGrade;
     48             scanf("%d %d %d",&TemID,&TemProID,&TemGrade);
     49             if(TemGrade == -1) TemGrade = 0;
     50             else Student[TemID].Done[TemProID] = 1;
     51             if(TemGrade>Student[TemID].grade[TemProID])
     52             {
     53                 Student[TemID].grade[TemProID]=TemGrade;
     54                 Student[TemID].ID = TemID; 
     55                 if(TemGrade == ProValue[TemProID]) Student[TemID].Perfect++;
     56             }
     57         }
     58 
     59         int SqueStuNum=0;
     60         for(i=1;i<=StuNum;i++)
     61         {
     62             int Temsum=0;
     63             int IfPrint = 0;
     64             for(j=1;j<=ProNum;j++)
     65             {
     66                 if(Student[i].Done[j])
     67                 {
     68                     IfPrint=1;
     69                     Temsum+=Student[i].grade[j];
     70                 }
     71             }
     72 
     73             if(IfPrint)
     74             {
     75                 Student[i].sum=Temsum;
     76                 SqueStu[SqueStuNum++]=Student[i];
     77             }
     78         }
     79 
     80 
     81         sort(SqueStu,SqueStu+SqueStuNum,cmp);
     82 
     83         int tag=-100;
     84         int cnt=0;
     85         int add=1;
     86         for(i = 0;i < SqueStuNum ;i++)
     87         {    
     88             if( SqueStu[i].sum != tag )
     89             {
     90                 tag = SqueStu[i].sum;
     91                 cnt+= add;
     92                 add=1;
     93             }
     94             else  ++add;
     95 
     96             printf("%d %05d %d",cnt,SqueStu[i].ID,SqueStu[i].sum);
     97 
     98             for(j= 1;j <= ProNum ;j++)
     99             {
    100                 if(SqueStu[i].grade[j] == -1) printf(" -");
    101                 else
    102                 {
    103                     printf(" %d",SqueStu[i].grade[j]);
    104                 }
    105             }
    106             printf("
    ");
    107         }
    108     }
    109     return 0;
    110 }
  • 相关阅读:
    CentOS 7 将 python版本升级为3.x后产生的各种问题
    CentOS 7.0 Firewall防火墙配置
    CentOS7.2+Python3x+Flask部署标准化配置流程
    CentOS 7 下安装 Nginx
    CentOS7下安装python-pip
    CentOS 7 安装字体
    centos中文目录换成英文目录
    搭建typecho个人博客和主题优化
    迭代器与生成器
    装饰器函数
  • 原文地址:https://www.cnblogs.com/xiaoyesoso/p/4265172.html
Copyright © 2011-2022 走看看