USACO第一题Greedy Gift Givers

今天做了usaco的第一题,本来是个基础题,花了不少时间。几乎没有什么算法,过了sample很简单,但是测试数据怎么也过不了。看来usaco上的题测试数据都比较变态。

/*
ID: like_091
PROG: gift1
LANG: C++
*/
#include
#include
#include
using namespace std;

int main()
{
	ifstream cin("gift1.in");
	ofstream cout("gift1.out");
	int tot, get[12], money[12], n;
	string str, s[12], goal;
	cin>>tot;
	for (int i = 0; i < tot; i++)
	{
		cin>>s[i];
		get[i] = 0;//初始化为0
	}
	for (int t = 0; t < tot; t++)
	{
		int k, l;
		string  goal;
		cin>>str;
		for (k = 0; k < tot; k++)
			if (s[k] == str)
				break;
		//初始化的钱及份数
		cin>>money[k]>>n;
		for (int i = 0; i < n; i++)
		{
			cin>>goal;
			for (l = 0; l < tot; l++)
				if (s[l] == goal)
					break;
			//按名字查找收礼者
			get[l] += money[k] / n;
		}
		//如果n为0就不用处理
		if (n)money[k] = money[k] % n - money[k];
	}
	for (int i = 0; i < tot; i++)
		cout<

转载于:https://www.cnblogs.com/neulike/archive/2011/02/18/1957714.html

你可能感兴趣的:(USACO第一题Greedy Gift Givers)