#UVa:10141-Request for Proposal

灆洢 2011-11-30 15:18:48

照著題目要求的做即可。

P.S. 所有名稱都有可能中間有空白。

C++(0.012)

/*******************************************************/
/* UVa 10141 Request for Proposal                      */
/* Author: Maplewing [at] knightzone.studio            */
/* Version: 2011/11/30                                 */
/*******************************************************/
#include<iostream>
#include<cstdio>
using namespace std;

struct Factory{
  string name;
  float d;
  int r;
};

int main(){
  int n, p;
  int RFP = 0;
  string requirement;
  Factory fac, best; 
  while( scanf( "%d%d", &n, &p ) != EOF && ( n || p ) ){
    if( RFP ) printf( "\n" );
    getchar(); /* delete the enter key */
    for( int i = 0 ; i < n ; i++ )
      getline( cin, requirement );

    best.r = 0;
    for( int i = 0 ; i < p ; i++ ){
      getline( cin, fac.name );
      scanf( "%f%d", &(fac.d), &(fac.r) );
      getchar(); /* delete the enter key */
      for( int j = 0 ; j < fac.r ; j++ )
        getline( cin, requirement );
      if( best.r < fac.r )
        best = fac;
      else if( best.r == fac.r && best.d > fac.d )
        best = fac;
    }
    printf( "RFP #%d\n%s\n", ++RFP, best.name.c_str() );
  }
  return 0;
}

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

這個網站採用 Akismet 服務減少垃圾留言。進一步瞭解 Akismet 如何處理網站訪客的留言資料