最新消息:380元/半年,推荐全网最具性价比的一站式编程学习平台码丁实验室

信息学奥赛题库- 骑士

C++ 少儿编程 1037浏览 0评论

友情提示:380元/半年,儿童学编程,就上码丁实验室

【题目描述】

原题来自:ZJOI 2008

Z 国的骑士团是一个很有势力的组织,帮会中聚集了来自各地的精英。他们劫富济贫,惩恶扬善,受到了社会各界的赞扬。

可是,最近发生了一件很可怕的事情:邪恶的 Y 国发起了一场针对 Z 国的侵略战争。战火绵延五百里,在和平环境中安逸了数百年的 Z 国又怎能抵挡得住 Y 国的军队。于是人们把所有希望都寄托在了骑士团身上,就像期待有一个真龙天子的降生,带领正义打败邪恶。

骑士团是肯定具备打败邪恶势力的能力的,但是骑士们互相之间往往有一些矛盾。每个骑士有且仅有一个他自己最厌恶的骑士(当然不是他自己),他是绝对不会与最厌恶的人一同出征的。

战火绵延,人们生灵涂炭,组织起一个骑士军团加入战斗刻不容缓!国王交给你了一个艰巨的任务:从所有骑士中选出一个骑士军团,使得军内没有矛盾的两人,即不存在一个骑士与他最痛恨的人一同被选入骑士团的情况,并且使这支骑士军团最富有战斗力。

为描述战斗力,我们将骑士按照 $1$ 至 $N$ 编号,给每位骑士估计一个战斗力,一个军团的战斗力为所有骑士的战斗力之和。

【输入】

输入第一行包含一个正整数 $N$,描述骑士团的人数;

接下来 $N$ 行每行两个正整数,按顺序描述每一名骑士的战斗力和他最痛恨的骑士。

【输出】

输出包含一行,一个整数,表示你所选出的骑士军团的战斗力。

【输入样例】

3
10 2
20 3
30 1

【输出样例】

30

【提示】

数据范围与提示:

对于 30% 的数据,满足 $N≤10$;

对于 60% 的数据,满足 $N≤100$;

对于 80% 的数据,满足 $N≤10^4$ ;

对于 100% 的数据,满足 $N≤10^6$ ,且每名骑士的战斗力都是不大于 $10^6$ 的正整数。

您必须 登录 才能发表评论!