zoukankan      html  css  js  c++  java
  • toj 1721 Friends

    1721.   Friends

    Time Limit: 1.0 Seconds   Memory Limit: 65536K
     

    Total Runs: 80   Accepted Runs: 14



    You know this problem... several friends meet at the Hacienda (a rather fine restaurant) every Wednesday,have some drinks and fun in general until someone brings up the dreaded question: "So, where are we going tonight?"

    At this point basically two things can happen: Either take the Swedish solution or the Italian solution. The Swedish solution means that there is an absolutely embarrassing silence for about five minutes disturbed only once or twice by a muttered "Uh, I don't care...", then they finally agree (silently of course) to get totally drunk. The Italian solution includes (but is not limited to) lots of shouting, total mayhem in the Hacienda, and probably 'family' problems.

    But wait, yes - you are right. We are in Germany, so our friends will take the German solution, of course.That means: Voting!

    As you can imagine, the friends do not just vote for a certain place to go to depending on their current mood.It really depends much more on who is there on a given Wednesday. Here are the rules:

    1. Anne will always vote for going to the cinema.

    2. Bob will vote for going to the disco if Karin is there, too.

    3. Karin will vote for going to the disco if Charly is there, if Charly is not there but Anne is, Karin will vote for going to the cinema, if Charly and Anne are not there Karin will vote for going to the cocktail bar.

    4. Dave is one of those guys who never votes for anything.

    5. If Dave is there, Bob will vote for going to the cocktail bar.

    6. If Charly and Anne are there, both of them will vote for going to the cinema.

    7. Edward votes for going to the cocktail bar if Anne is there and Charly is not there, otherwise Edward votes for going to the cinema.

    8. If Edward is there, Bob will vote for going to the cocktail bar.

    9. Frank will vote for going to the cinema if neither Bob nor Anne are there, and Frank will vote for going to the disco if Anne is there.

    10. If Anne is not there, Bob will vote for going to the cocktail bar.

    For a given Wednesday, count the votes for each place from the friends who are there on that Wednesday.If no rule applies for a present friend or if several rules apply and require the friend to vote for different places, this friend abstains from voting on that Wednesday.

    Input

    The first line contains the number of scenarios (Wednesday meetings).

    For each scenario, there is one line containing the names of the present friends. Names are separated by single blanks and consist of letters only. The same name will not occur more than once on the same line.

    Output

    The output for every scenario begins with a line containing "Scenario #i:", where i is the number of the scenario starting at 1.

    Then for each scenario print a single line containing the place that received the most votes. Possible places are 'cinema', 'cocktail bar', and 'disco'. If none of those places receives more votes than the other two print 'stay at the Hacienda'.

    Terminate the output for the scenario with a blank line.

    Sample Input

    2
    Frank Dave
    Karin Frank
    
    Sample Output

    Scenario #1:
    cinema
    Scenario #2:
    stay at the Hacienda
    


    Source: TUD Programming Contest 2003
    Submit   List    Runs   Forum   Statistics

    #include <iostream>
    #include 
    <string>
    #include 
    <map>
    using namespace std;
    map
    <string,int>M;
    bool mark[8];
    int a,b,c;
    int main()
    {
        M[
    "Anne"]=1;
        M[
    "Bob"]=2;
        M[
    "Karin"]=3;
        M[
    "Charly"]=4;
        M[
    "Dave"]=5;
        M[
    "Edward"]=6;
        M[
    "Frank"]=7;
        
    int t,len,i,zz=1;
        cin
    >>t;
        getchar();
        
    string str,temp;
        
    while(t--)
        {
            getline(cin,str,
    '\n');
            len
    =str.length();
            str
    +=' ';
            
    int starti=0;
            
    for(i=1;i<=7;i++)
                mark[i]
    =false;
            
    for(i=0;i<=len;i++)
            {
                
    if(str[i]==' ')
                {
                    temp
    =str.substr(starti,i-starti);
                    starti
    =i+1;
                    mark[M[temp]]
    =true;
                }
            }
            a
    =0;
            b
    =0;
            c
    =0;
            
    if(mark[1])
            {
                a
    ++;
            }
            
    if(mark[2])
            {
                
    if(mark[3]&&!mark[5]&&!mark[6]&&mark[1])
                    b
    ++;
                
    else if(!mark[3]&&(mark[5]||mark[6]||!mark[1]))
                    c
    ++;
            }
            
    if(mark[3])
            {
                
    if(mark[4])
                    b
    ++;
                
    else if(!mark[4]&&mark[1])
                    a
    ++;
                
    else if(!mark[1]&&!mark[4])
                    c
    ++;
            }
            
    if(mark[4])
            {
                
    if(mark[1])
                    a
    ++;
            }
            
    if(mark[6])
            {
                
    if(mark[1]&&!mark[4])
                    c
    ++;
                
    else
                    a
    ++;
            }
            
    if(mark[7])
            {
                
    if(!mark[1]&&!mark[2])
                    a
    ++;
                
    else if(mark[1])
                    b
    ++;
            }
            printf(
    "Scenario #%d:\n",zz++);
             
    if(a>b&&a>c)
            {
                printf(
    "cinema\n");
            }
            
    else if(b>c&&b>a)
            {
                printf(
    "disco\n");     
            }
            
    else if(c>a&&c>b)
            {
                printf(
    "cocktail bar\n");
            }
            
    else
                printf(
    "stay at the Hacienda\n");
            printf(
    "\n");
        }
        
    return 0;
    }
  • 相关阅读:
    基于SSM框架web搜索功能的实现
    使用APICloud打包webapp
    mac如何运行vue项目
    前端和算法实现:给网站上加上自己的水印(以后用上)
    jQuery常用代码片段
    关于vscode的个人配置
    听说你想用git,安装一下咯
    vue创建项目的一种方法
    用js控制css动画效果@keyframes
    axios的封装和拦截
  • 原文地址:https://www.cnblogs.com/forever4444/p/1459512.html
Copyright © 2011-2022 走看看