zoukankan      html  css  js  c++  java
  • Codeforces Gym 100637G G. #TheDress 暴力

    G. #TheDress

    Time Limit: 20 Sec

    Memory Limit: 256 MB

    题目连接

    http://codeforces.com/gym/100637/problem/G

    Description

    After landing on planet i1c5l people noticed that blue and black clothes are quite popular among the locals. Each aboriginal has at least one blue-and-black piece of clothing in their wardrobe. This makes no interest except one curious detail: the locals claimed that these colors weren’t blue and black but white and gold.

    Thus a simple test was created to differ a human being from an alien. On one of the wedding parties people took a picture of the blue-and-black groom mother’s dress. This picture was shown to some respondents who were asked the color of the dress. If the answer contained «blue» and «black» then there was no doubt that the respondent was from the Earth. The answer containing «white» and «gold» pointed to the person of planet i1c5l origin. If the answer contained neither of word pairs then it was clear that the respondent was a creature from another planet.

    You have the complete survey log from planet i1c5l. Your task is to determine the constitution of the planet’s population based on the survey.

    Input

    The first line contains single integer N — the number of respondents (1 ≤ N ≤ 100). The following N lines contain the answers. No line is empty and no line is longer than 100 characters. The answer contains only lower-case Latin letters and spaces. It is guaranteed that no answer can contain «blue», «black», «white», and «gold» simultaneously.

    Output

    Output three numbers that describe the planet’s population, each on separate line.

    The first number — percentage of earthlings in population.

    The second number — percentage of aboriginals in population.

    The third number — percentage of another planet creatures in population.

    Output all numbers with 10 - 5 accuracy.

    Sample Input

    3
    goldandwhite
    white and pinkman
    blueblueblue and a little bit black

    Sample Output

    33.3333333333
    33.3333333333
    33.3333333333

    HINT

    题意

    问你回答中含有蓝黑的人,和含有白金的人,和普通人各占百分之多少

    题解:

    暴力找就好了……

    代码

    #include <cstdio>
    #include <cmath>
    #include <cstring>
    #include <ctime>
    #include <iostream>
    #include <algorithm>
    #include <set>
    #include <vector>
    #include <sstream>
    #include <queue>
    #include <typeinfo>
    #include <fstream>
    #include <map>
    #include <stack>
    typedef long long ll;
    using namespace std;
    //freopen("D.in","r",stdin);
    //freopen("D.out","w",stdout);
    #define sspeed ios_base::sync_with_stdio(0);cin.tie(0)
    #define test freopen("test.txt","r",stdin)
    const int maxn=202501;
    #define mod 1000000007
    #define eps 1e-9
    const int inf=0x3f3f3f3f;
    const ll infll = 0x3f3f3f3f3f3f3f3fLL;
    inline ll read()
    {
        ll x=0,f=1;char ch=getchar();
        while(ch<'0'||ch>'9'){if(ch=='-')f=-1;ch=getchar();}
        while(ch>='0'&&ch<='9'){x=x*10+ch-'0';ch=getchar();}
        return x*f;
    }
    //**************************************************************************************
    
    string s;
    int find_blue()
    {
        int flag1=0,flag2=0;
        int pos=s.find("blue");
        int pos1=s.find("black");
        if(pos!=s.npos)
            flag1++;
        if(pos1!=s.npos)
            flag2++;
        if(flag1==1&&flag2==1)
            return 1;
        return 0;
    }
    int find_gold()
    {
        int flag1=0,flag2=0;
        int pos=s.find("white");
        int pos1=s.find("gold");
        if(pos!=s.npos)
            flag1++;
        if(pos1!=s.npos)
            flag2++;
        if(flag1==1&&flag2==1)
            return 1;
        return 0;
    }
    double ans1=0,ans2=0,ans3=0;
    int main()
    {
        int n=read();
        for(int i=0;i<n;i++)
        {
            getline(cin,s);
            if(find_blue())
                ans1+=1;
            else if(find_gold())
                ans2+=1;
            else
                ans3+=1;
        }
        double sum=ans1+ans2+ans3;
        printf("%.10f
    %.10f
    %.10f
    ",ans1/sum*100,ans2/sum*100,ans3/sum*100);
    }
  • 相关阅读:
    DOS命令
    vim学习
    Python学习笔记小结之猜数字游戏
    Python学习笔记函数之异常处理
    Python学习笔记函数之global语句
    Python学习笔记函数之局部和全局作用域
    Python学习笔记函数之关键字参数和print()
    Python学习笔记函数之None值
    Python学习笔记函数之返回值和return语句
    Python学习笔记函数之def语句和参数
  • 原文地址:https://www.cnblogs.com/qscqesze/p/4674302.html
Copyright © 2011-2022 走看看