24h購物| | PChome| 登入
2009-02-14 13:34:36| 人氣240| 回應0 | 上一篇 | 下一篇

2007 NOIP 普及組 NOIP2007 1.獎學金

推薦 0 收藏 0 轉貼0 訂閱站台

因為我只會泡泡一些簡單的東西,所以看起來會很複雜
/*************************************************************/

  1. #include<stdio.h>   
  2. #include<stdlib.h>   
  3. #include<string.h>   
  4. main()   
  5. {   
  6.  int n,a,b,c,namescore[400][5];   
  7.  while(scanf("%d",&n)==1)   
  8.   {   
  9.    for(a=0;a<n;a++)   
  10.     {   
  11.      int x,y,z;   
  12.      scanf("%d %d %d",&x,&y,&z);   
  13.       namescore[a][0]=a+1;   
  14.       namescore[a][1]=x+y+z;   
  15.       namescore[a][2]=x;   
  16.     }   
  17.    int temp,temp1,temp2;   
  18.   for(b=0;b<n;b++)   
  19.      for(a=0;a<n;a++)      
  20.         {      
  21.          if(namescore[a][1]<namescore[a+1][1])   
  22.               { /*分數高往前推*/  
  23.                temp=namescore[a+1][0];      
  24.                temp1=namescore[a+1][1];      
  25.                temp2=namescore[a+1][2];   
  26.                namescore[a+1][0]=namescore[a][0];      
  27.                namescore[a+1][1]=namescore[a][1];    
  28.                namescore[a+1][2]=namescore[a][2];     
  29.                namescore[a][0]=temp;      
  30.                namescore[a][1]=temp1;   
  31.                namescore[a][2]=temp2;   
  32.               }      
  33.          else if(namescore[a][1]==namescore[a+1][1]&&(namescore[a][2]<namescore[a+1][2]))    
  34.               { /*分數相等但語文好的往前推*/  
  35.                temp=namescore[a+1][0];      
  36.                temp1=namescore[a+1][1];      
  37.                temp2=namescore[a+1][2];   
  38.                namescore[a+1][0]=namescore[a][0];      
  39.                namescore[a+1][1]=namescore[a][1];    
  40.                namescore[a+1][2]=namescore[a][2];     
  41.                namescore[a][0]=temp;      
  42.                namescore[a][1]=temp1;   
  43.                namescore[a][2]=temp2;      
  44.               }   
  45.                 
  46.         }     
  47.         for(a=0;a<5;a++)   
  48.          printf("%d %d\n",namescore[a][0],namescore[a][1],namescore[a][2]);   
  49.    }   
  50.  return 0;   
  51. } 

台長: 來源不明
人氣(240) | 回應(0)| 推薦 (0)| 收藏 (0)| 轉寄
全站分類: 數位資訊(科技、網路、通訊、家電) | 個人分類: 資訊競賽 |
此分類下一篇:2007 NOIP 普及組 NOIP2007 4.Hanoi雙塔问题
此分類上一篇:NOIP2004 提高組 NOIP2004 1.津津的儲蓄計畫

是 (若未登入"個人新聞台帳號"則看不到回覆唷!)
* 請輸入識別碼:
請輸入圖片中算式的結果(可能為0) 
(有*為必填)
TOP
詳全文