题目链接
题意
每个人都有送礼和收礼,算出所有人最后剩下多少钱
思路
用结构体,哈希,利用下标表示
坑点
无
代码
#include<iostream>
#include<stdio.h>
#include<fstream>
#include<algorithm>
#include<cmath>
#include<deque>
#include<vector>
#include<queue>
#include<string>
#include<cstring>
#include<map>
#include<stack>
#include<set>
#include<unordered_map>
using namespace std;
int n;
string num[15];
unordered_map<string,int> person;
int main()
{
cin>>n;
for(int i=0;i<n;i++)
{
cin>>num[i];
}
for(int i=0;i<n;i++)
{
string s,ss;
int q,r;
cin>>s>>q>>r;
if(r)
{
person[s]-=q/r*r;
for(int j=0;j<r;j++)
{
cin>>ss;
person[ss]+=q/r;
}
}
}
for(int i=0;i<n;i++)
{
cout<<num[i]<<" "<<person[num[i]]<<endl;
}
return 0;
}
总结
模拟题,注意输入与输出