zoukankan      html  css  js  c++  java
  • 红包的收益(笔试)

              题目描述

               如你所知,中国素来有发红包的习俗。

              新年要到了,小明想要知道朋友圈里每个人的收益。

              每个人有mi数量的钱用来发红包,并且这笔钱会平均地发给ki个人(收益得到的钱不再发红包)。

              而且发给每个人的钱都是整数。如果不能整除,发红包的人保留mi mod ki的钱。

    输入

     

    第1行,一个整数n,2<=n<=10,小明的n个朋友。

    第 2到n+1行每行一个字符串,第i+1行表示第i个人的名字。

    接下来n段:

    每段第一行是一个字符串,表示发红包的人的名字。

    第二行为两个数mi,ki。含义如上。

    接下来ki行,每行一个字符串表示被发红包的人的名字。

    样例输入

     

    5

    dave

    laura

    owen

    vick

    amr

    dave

    200 3

    laura

    owen

    vick

    owen

    500 1

    dave

    amr

    150 2

    vick

    owen

    laura

    0 2

    amr

    vick

    vick

    0 0

    输出

     

    n行,每行一个字符串和一个整数,分别表示第i个人的名字和收益。

    样例输出

     

    dave 302

    laura 66

    owen -359

    vick 141

    amr -150

    时间限制C/C++语言:1000MS其它语言:3000MS
    内存限制C/C++语言:65536KB其它语言:589824KB

        

    #include<iostream>
    #include<string>
    #include<map>
    #include<vector>
    using namespace std;
    int main()
    {
        int n;
        int ss[10][2];
        map<string, int> mapp;
        string sss[10];//记录原始的名字输入顺序
        string name[10];//记录要发红包的人
        string str[10][10];//记录某个人要发给某些人
    
        while (cin >> n)
        {
            for (int i = 0; i < n; ++i)
            {
                cin >> sss[i];
                mapp.insert(pair<string, int>(sss[i], 0));
            }
            for (int i = 0; i < n; ++i)
            {
                cin >> name[i];
                cin >> ss[i][0] >> ss[i][1];
                for (int j = 0; j < ss[i][1]; ++j)
                    cin >> str[i][j];
            }
            for (int i = 0; i < n; i++)
            {
                if (ss[i][1])
                {
                    int s = ss[i][0] / ss[i][1];
                    int t = ss[i][0] % ss[i][1];
                    for (int j = 0; j < ss[i][1]; ++j)
                        mapp[str[i][j]] += s;
                    mapp[name[i]] += t;
                    mapp[name[i]] -= ss[i][0];
                }
            }
            for (int i = 0; i < n; i++)
            {
                cout << sss[i] << " " << mapp[sss[i]] << endl;
            }
        }
        return 0;
    }
  • 相关阅读:
    libevent 源码学习四 —— 源代码文件组织
    c++上待解决的内容
    常用网址
    tin mission 2021 11 14
    问题--c++
    小思维--c++
    thin mission 2021 11 13
    physics--lecture--Centre of Gravity & Inertia and conservation of angular momentum
    physics--lecture--torque--static equilibrium
    physics—lecture ——torque
  • 原文地址:https://www.cnblogs.com/czx1/p/7658894.html
Copyright © 2011-2022 走看看