C小加

厚德 博学 求真 至善 The bright moon and breeze
posts - 145, comments - 195, trackbacks - 0, articles - 0
  C++博客 :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理

Ural 1868 Prediction Contest 解题报告

Posted on 2011-11-07 09:26 C小加 阅读(1306) 评论(0)  编辑 收藏 引用 所属分类: 解题报告
今年Ural比赛的一道题。用map模拟。求出判断正确的人的个数,最后乘以5得出结果。

#include 
<iostream>
#include 
<string>
#include 
<cstring>
#include 
<cstdio>
#include 
<map>
using namespace std;

map
<string,string> m;

int main()
{
    
//freopen("1.in","r",stdin);
    string str;
    
for(int i=1;i<=4;i++)
    {
        cin
>>str;
        m[str]
="gold";
    }
    
for(int i=1;i<=4;i++)
    {
        cin
>>str;
        m[str]
="silver";
    }
    
for(int i=1;i<=4;i++)
    {
        cin
>>str;
        m[str]
="bronze";
    }
    
int n,sum=0,qt=0;
    cin
>>n;
    
while(n--)
    {
        
string s1,s2,s3;
        
int t;
        cin
>>t;
        
int cnt=0;
        
for(int i=0;i<t;i++)
        {
            cin
>>s1>>s2>>s3;
            
if(m[s1]==s3) cnt++;

        }
        
if(sum<cnt)
        {
            sum
=cnt;
            qt
=1;
        }
        
else if(sum==cnt)
        {
            qt
++;
        }

    }
    cout
<<qt*5<<endl;

    
return 0;
}

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理