游乐场
Description
据新闻报道,Orz教主在太平洋中央建了一个大游乐园,其中有许多小岛,每个小岛上有且仅有一个游乐设施,有的小岛与小岛之间有海底隧道连接,而有的没有,一个游乐设施对一个人只开放一次,花的钱与得到的快乐值成正比。一开始,你可以选择被空投到任意一个小岛。当你想离开游乐园时,你可以打电话叫飞机来接,但不能再次被空投。
fhn非常有钱,他想在游乐园里得到最大的快乐值。
而czm则比较穷,他的愿望只是玩最多的游乐设施。
Input
第一行: n (代表有n个小岛)(n<=200)
以下n行,依次表示使用小岛1–小岛n上的游乐设施所花的钱
e (代表有e条海底隧道)
接着e行,每行2个数,表示这两个小岛之间有海底隧道连接
Output
第一行,czm最多可以游览的游乐园的个数。
第二行,fhn的游览方式所得的快乐值。
Sample Input
5 //五个小岛
3
4
5
8
10
5 //五条海底隧道
1 2
1 3
2 5
3 4
4 5
Sample Output
5 //czm最多可以游览的游乐园的个数
30 //fhn的游览方式所得的快乐值
分析:有题意得:czm的要求可以用求最大连通分量!而快乐值想必大家都会,本蒟蒻用的是:”
dfs来做!
code:
#include<cstdio>
#include<iostream>
using namespace std;
int n,happy[300],e,head[300],t