QOJ.ac

QOJ

Time Limit: 2 s Memory Limit: 256 MB Total points: 100

#21118. La connaisseuse d’herbe

Statistics

Pour mieux gérer le pâturage, Farmer John a installé des chemins à sens unique. La ferme a $N$ champs numérotés $1..N$, et chaque chemin relie deux champs. Un chemin de $X$ à $Y$ permet d’aller de $X$ à $Y$, mais pas l’inverse.

Bessie aime manger dans le plus de champs possible. Elle commence chaque jour au champ $1$, visite une suite de champs et revient au $1$. Elle maximise le nombre de champs distincts, puisqu’elle ne mange l’herbe qu’une fois dans un champ visité plusieurs fois.

Elle n’aime pas le sens unique, qui réduit ses visites. Combien pourra-t-elle manger en enfreignant la règle sur au plus un chemin ? Calculez le maximum de champs distincts d’un parcours commençant et finissant au $1$, avec au plus un passage à contresens. Un seul passage à contresens est autorisé au total : même le même chemin ne peut être pris deux fois à l’envers.

Entrée

La première ligne contient le nombre de champs $N$ et de chemins $M$ ($1 \leq N, M \leq 100,000$).

Les $M$ lignes suivantes donnent deux numéros distincts $X$, $Y$ pour un chemin de $X$ à $Y$. Aucun chemin n’est répété.

Sortie

Affichez en une ligne le maximum de champs distincts sur un parcours du $1$ au $1$ avec au plus un passage à contresens.

Exemples

Entrée 1

7 10
1 2
3 1
2 5
2 4
3 7
3 5
3 6
6 5
7 2
4 7

Sortie 1

6

Remarque

Voici un dessin ASCII de l’exemple :

v---3-->6
7   |\  |
^\  v \ |
| \ 1  \|
|  \|   v
|   v   5
4<--2---^

Elle peut visiter $1,2,4,7,2,5,3,1$ en prenant à contresens le chemin entre $5$ et $3$. Au $3$, elle ne peut atteindre $6$ sans un autre contresens.

Auteur du problème : Mark Gordon, 2015

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.