5002:礼物(Greedy Gift Givers)

hrc122449 2024-08-23 10:26:28
#include <cstdlib>
#include <cstring>
#include <cstdio>
#include <cmath>
#include <iostream>
#include <algorithm>
#include <string>
#include <queue>
#include <stack>
#include <map>
#include <set>
 
typedef long long LL;
const long long INF = 0x3f3f3f3f;
const long long mod = 1e9+7;
const double PI = acos(-1.0);
const int dir4[4][2] = {{1, 0}, {0, 1}, {-1, 0}, {0, -1}};
const int dir8[8][2] = {{1, 0}, {0, 1}, {-1, 0}, {0, -1}, {1, 1}, {-1, -1}, {1, -1}, {-1, 1}};
const int maxx = 100010;
using namespace std;
struct student
{
    char name[20];
    int coin;
};
int main()
{
    student st[20];
    int n,n1,re[20];
    char nm[20];
    cin>>n;
    n1=n;
    for(int i=0; i<n; i++)
    {
        cin>>st[i].name;
        st[i].coin=0;
        re[i]=0;
    }
    while(n1--)
    {
        cin>>nm;
        int money,num,avg,sum;
        for(int i=0; i<n; i++)
        {
            if(!strcmp(nm,st[i].name))
            {
                cin>>money>>num;
                re[i]=money;
                if(money==0&&num==0)
                    break;
                avg=money/num;
                sum=st[i].coin+money-avg*num;
                st[i].coin=sum;
                for(int j=0; j<num; j++)
                {
                    cin>>nm;
                    for(int k=0; k<n; k++)
                    {
                        if(!strcmp(nm,st[k].name))
                        {
                            st[k].coin+=avg;
                            break;
                        }
                    }
                }
                break;
            }
        }
    }
    for(int i=0; i<n; i++)
        cout<<st[i].name<<" "<<st[i].coin-re[i]<<endl;
    return 0;
}

 

...全文
216 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

18,512

社区成员

发帖
与我相关
我的任务
社区描述
欢迎所有爱好c++的人加入
经验分享c++青少年编程 技术论坛(原bbs) 湖北省·武汉市
社区管理员
  • 一只贴代码君
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

社区意在提高大家C++编程水平,共同进步,无硬性规则,大家可以自由活动,尽情发言,想要管理员和名誉头衔可以与主管理员协商,也欢迎大家提出建议

试试用AI创作助手写篇文章吧