1. 程式人生 > >Newcoder 144 D.Bulbasaur(水~)

Newcoder 144 D.Bulbasaur(水~)

Description

nnfacefacemmbodybody,給出kk種配對對應的權值,一個bodybody只能配一個faceface,但一個faceface可以配多個bodybody,問合法匹配的最大權值和

Input

第一行一整數TT表示用例組數,每組用例輸入三個整數n,m,kn,m,k,之後kk行每行輸入三個整數ai,bi,cia_i,b_i,c_i表示第aia_ifaceface配第bib_ibodybody的權值為cic_i

(1T5,1n

,m,k105,1ain,1bim,1ci109)(1\le T\le 5,1\le n,m,k\le 10^5,1\le a_i\le n,1\le b_i\le m,1\le c_i\le 10^9)

Output

輸出最大權值和

Sample Input

1 2 3 3 1 2 1919 1 3 810 2 2 450

Sample Output

Case #1: 2729

Solution

給每個bodybody配上權值最大的faceface即可

Code

#include<cstdio>
#include<algorithm>
using namespace std;
typedef long long ll;
#define maxn 100005
int T,Case=1,n,m,k,mx[maxn];
int main()
{
	scanf("%d",&T);
	while(T--)
	{
		scanf("%d%d%d",&n,&m,&k);
		for(int i=1;i<=m;i++)mx[i]=0;
		while(k--)
		{
			int a,b,c;
			scanf("%d%d%d",&a,&b,&c);
			mx[b]=max(mx[b],c);
		}
		ll ans=0;
		for(int i=1;i<=m;i++)ans+=mx[i];
		printf("Case #%d: %lld\n",Case++,ans);
	}
	return 0;
}