#include#include#include#includeusingnamespacestd;constintN=25;intn,m,have[N];" />

日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

UVA 538 - Balancing Bank Accounts(貪心)

系統 2490 0

UVA 538 - Balancing Bank Accounts

題目鏈接

題意:給定一些人的欠錢關系,要求在n-1次內還清錢,問方案

思路:貪心,處理出每一個人最后錢的狀態,然后直接每一個人都和最后一個人操作就可以

代碼:

      #include <cstdio>
#include <cstring>
#include <iostream>
#include <string>
#include <map>
using namespace std;

const int N = 25;

int n, m, have[N];
map<string, int> hash;
string name[N];

int main() {
	int cas = 0;
	while (~scanf("%d%d", &n, &m) && n || m) {
		hash.clear();
		memset(have, 0, sizeof(have));
		for (int i = 1; i <= n; i++) {
			cin >> name[i];
			hash[name[i]] = i;
		}
		string a, b; int val;
		while (m--) {
			cin >> a >> b >> val;
			int u = hash[a], v = hash[b];
			have[u] += val;
			have[v] -= val;
		}
		printf("Case #%d\n", ++cas);
		for (int i = 1; i < n; i++) {
			if (have[i] < 0)
				cout << name[i] << " " << name[n] << " " << -have[i] << endl;
			else if (have[i] > 0)
				cout << name[n] << " " << name[i] << " " << have[i] << endl;
			have[n] -= have[i];
		}
		printf("\n");
	}
	return 0;
}
    


UVA 538 - Balancing Bank Accounts(貪心)


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 曲麻莱县| 汉沽区| 阿克苏市| 江阴市| 武功县| 抚顺县| 安阳县| 蓝田县| 千阳县| 大丰市| 奉新县| 抚顺市| 务川| 惠水县| 平邑县| 辽阳县| 颍上县| 壶关县| 乐山市| 乌兰浩特市| 常熟市| 遂昌县| 康乐县| 明水县| 金阳县| 裕民县| 镇赉县| 大同县| 宣城市| 双牌县| 河池市| 册亨县| 博乐市| 罗城| 泽州县| 石渠县| 鹿邑县| 涡阳县| 区。| 黄浦区| 南岸区|