View Code of Problem 14

#include<stdio.h>
#include<cstdlib>
#include<cmath>
#include<iostream>
#include<algorithm>
using namespace std;
typedef long long ll;
struct node{
	int a,b,value;
}a[2001];
struct node1{
	int c,d;
}b[2001];
int main(){
	int n,t;
	int count=0;
	int res=0;
	while(scanf("%d%d", &n, &t)==2&&(n||t)){
	for(int i=0;i<t;i++){
		scanf("%d%d%d", &a[i].a,&a[i].b,&a[i].value);
	}
	for(int i=0;i<t;i++){
		for(int j=0;j<t;j++){
			if((a[i].a==a[j].a)&&(a[i].b=a[j].b)&&(a[i].value)>a[j].value){
				a[i].value=a[j].value;
			  a[j].a=a[j].b=a[j].value=0;
			}	  
		}
	}
	
	int w,e;
	scanf("%d%d",&w,&e);
	for(int j=0;j<w;j++){
		scanf("%d%d", &b[j].c,&b[j].d);
	}
	for(int i=0;i<w;i++){
		for(int j=i+1;j<w;j++){
			if((b[i].c==b[j].d)&&(b[i].d==b[j].c)){
				b[j].c=b[j].d=0;
			}
			if((b[i].c==b[j].c)&&(b[i].d==b[j].d))
			 b[j].c=b[j].d=0;
		}
	}
	count++;
	
	for(int i=0;i<t;i++){
		for(int j=0;j<w;j++){
			
				if((a[i].a==b[j].c)&&(a[i].b==b[j].d))
				res+=a[i].value;
				if(b[j].d==e) break;
			
		}
	}
	printf("Case#%d: %d\n", count ,res);
	res=0;
}
	return 0;
}

Double click to view unformatted code.


Back to problem 14