程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> Sicily 1299 Academy Awards (map + vector容器)

Sicily 1299 Academy Awards (map + vector容器)

編輯:C++入門知識

鏈接:http://soj.me/show_problem.php?pid=1299&cid=

Description

Selected from 3,850 teams from 1,329 universities in 68 countries competing at 106 sites and preliminary contests worldwide, sixty-eight teams competed for bragging rights and prizes at The 27th Annual ACM International Collegiate Programming Contest World Finals sponsored by IBM on March 25, 2003, in Hollywood, California. The 2003 World Champion is Warsaw University . And Zhongshan University won the 8th place. During those days, another world famous event was held in the same place. It was the 75th Annual Academy Awards. It’s also known as Oscar.

We always say that the Best Picture is the most important award of all the awards. Before the Oscar Night, we can’t tell which film will win Best Picture. Fortunately, we can dope it out from the Nominee List of all the awards other than the Best Picture. I suggest that you should follow my 3 rules here.

l All the films in the list have chances to win the Best Picture

l The film which will win the Best Picture is the film which has been nominated the most times in the list

l If there are more than one film which have been nominated the most times in the list, we will choose the first one which appears in the list

Let’s see such a List below.

VISUAL EFFECTS

THE LORD OF THE RINGS: THE TWO TOWERS

SPIDER-MAN

STAR WARS EPISODE II ATTACK OF THE CLONES

SOUND EDITING

THE LORD OF THE RINGS: THE TWO TOWERS

MINORITY REPORT

ROAD TO PERDITION

From the list, we can find that THE LORD OF THE RINGS: THE TWO TOWERS has been nominated twice. And each of the other films has been nominated only once. So we can say THE LORD OF THE RINGS: THE TWO TOWERS will win the Best Picture.

Your task is to write a program to figure out the anticipatory winner from the list.

Input

The input file will consist of several lists. The first line of each list contains only one integer n (1≤n≤100), representing the number of awards in the list. Then you get n blocks. Each block indicated the nominees of a distinct award. The first line of each block is the name of the award which is not longer than 80. The second line is mi (1≤mi≤10, 1≤i≤n) - the number of nominated films. In the following lines are mi film names, one per line. For make the question simple, you can assume that there isn’t any space in the film names.

The input is terminated by a line with one zero.

Output

For each list, you are supposed to figure out the winner of Best Picture in a single line.

Sample Input \ CZ喎?http://www.Bkjia.com/kf/ware/vc/" target="_blank" class="keylink">vcHkgc2FtcGxlIGlucHV0IHRvIGNsaXBib2FyZAoKPHByZSBjbGFzcz0="brush:java;">2VISUAL_EFFECTS3THE_LORD_OF_THE_RINGS:_THE_TWO_TOWERSSPIDER-MANSTAR_WARS_EPISODE_II_ATTACK_OF_THE_CLONESSOUND_EDITING3THE_LORD_OF_THE_RINGS:_THE_TWO_TOWERSMINORITY_REPORTROAD_TO_PERDITION0 Sample Output
THE_LORD_OF_THE_RINGS:_THE_TWO_TOWERS

分析: 統計出現頻率最高的電影名字,看一下數據范圍都不大,時間復雜度為O(n*m)

#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#define RST(N)memset(N, 0, sizeof(N))
using namespace std;

vector  v;    
map  mp;
map :: iterator it;
string award, file, flag;   //獎項名字,電影名字,出現頻率最高的電影名字;
int n, m;   //獎項數,獲得每個獎項的電影名字總數;

int main()
{
    while(cin >> n && n) {
        mp.clear(), v.clear();   //初始化容器;
        while(n--) {
            cin >> award;
            cin >> m;
            for(int i=0; i> file;
                v.push_back(file);
                it = mp.find(file);    //找到該電影出現在map容器中的位置;
                if(it != mp.end()) mp[file]++;  //找到,頻率加1;
                else mp[file] = 1;   //未找到,頻率為1;並加到map容器當中;
            }
        }
        int max = 0;
        for(int i=0; isecond > max) {
                max = it->second;
                flag = it->first;
            }
        }
        cout << flag << endl;
    }
    return 0;
}

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved