发布题解

.  •  2年前


使用模拟算法(模拟算法即按照题目所描述的方式运行,最终得到答案。) 需要使用合适的数据结构来进行模拟 题目分析:按题目的要求使用模拟算法,可以使用结构体来贮存,还可以用STL的map,要注意除数为0的情况 AC代码

include <bits/stdc++.h>

using namespace std;

map<string,int>ans;

int main() {

int n,money;
cin>>n;
string name[15],s,Friend;
for(int i=1;i<=n;i++)
	cin>>name[i];
for(int i=1,num;i<=n;i++)
{
	cin>>s>>money>>num;
	for(int j=1;j<=num;j++)
	{
		cin>>Friend;
		ans[Friend]+=money/num;
	}
	if(num!=0)
		ans[s]=ans[s]-money+money%num;
}
for(int i=1;i<=n;i++)
	cout<<name[i]<<' '<<ans[name[i]]<<endl;
return 0;

} //过不了就是你复制错了,我AC了


评论:

请注意发代码的格式,正确的格式应如下:

#include <bits/stdc++.h>
using namespace std;

map<string,int>ans;

int main() {
	int n,money;
	cin>>n;
	string name[15],s,Friend;
	for(int i=1;i<=n;i++)
		cin>>name[i];
	for(int i=1,num;i<=n;i++)
	{
		cin>>s>>money>>num;
		for(int j=1;j<=num;j++)
		{
			cin>>Friend;
			ans[Friend]+=money/num;
		}
		if(num!=0)
			ans[s]=ans[s]-money+money%num;
	}
	for(int i=1;i<=n;i++)
		cout<<name[i]<<' '<<ans[name[i]]<<endl;
	return 0;
}

pnpn111  •  2年前

已经放到题解区


mod998244353  •  2年前