#4077. 「USACO5.4」加拿大之旅 暂未评定

时间限制:1000 ms 内存限制:128 MiB 标准输入输出
题目类型:传统 评测方式:文本比较
上传者: root

题目描述

你在一个由航空公司赞助举办的比赛中获得了胜利。

奖品是由航空公司提供的一张加拿大环游机票。

你需要从最西边的一座城市出发,从西向东进行旅行,直到最东边的城市,然后再从东向西旅行,直到回到出发城市。

除了出发城市以外,任何其他城市最多只能逗留一次,而出发城市必须恰好逗留两次(旅程开始时一次,结束时一次)。

旅程中你只能乘坐该航空公司提供的航班。

给定航空公司服务的城市列表以及成对的城市之间的直航列表,请找到一个行程,该行程可以参观尽可能多的城市并满足上述条件,从最西边的城市开始,一路游玩到最东边的城市,然后返回出发城市。

输入格式

第一行包含两个整数 ,分别表示城市数量以及航班数量。

接下来 行,每行包含一个城市的名称,这些城市是按照自西向东的顺序给出的,没有任何两个城市位于同一经线上。

每个城市的名字都是一个长度不超过 的字符串,字符串中可能包含数字和拉丁字母,城市名称中不会出现空格。

接下来 行,每行包含两个城市名称,表示这两个城市之间存在直达双向航班。

输出格式

输出最多可以参观到的城市数量。

如果无法安排行程,则输出 1。

样例

样例输入 1

8 9
Vancouver
Yellowknife
Edmonton
Calgary
Winnipeg
Toronto
Montreal
Halifax
Vancouver Edmonton
Vancouver Calgary
Calgary Winnipeg
Winnipeg Toronto
Toronto Halifax
Montreal Halifax
Edmonton Montreal
Edmonton Yellowknife
Edmonton Calgary

样例输出 1

7

数据范围与提示

,

题目翻译来自NOCOW。

USACO Training Section 5.4