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

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

UVA 538 - Balancing Bank Accounts(貪心)

系統 2543 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條評論
主站蜘蛛池模板: 共和县| 龙州县| 南通市| 宁远县| 古田县| 修武县| 玉溪市| 于田县| 太原市| 双鸭山市| 同江市| 沭阳县| 土默特左旗| 图木舒克市| 太保市| 额敏县| 来宾市| 正镶白旗| 杭锦旗| 瓮安县| 榆树市| 西安市| 东港市| 嘉义市| 临朐县| 开阳县| 山西省| 邢台县| 周口市| 清涧县| 澜沧| 宣武区| 五河县| 双辽市| 博客| 平江县| 渝中区| 砚山县| 和硕县| 普兰县| 都匀市|