QOJ.ac

QOJ

시간 제한: 1 s 메모리 제한: 256 MB 총점: 100

#22903. Flèches

통계

Ce problème devait être la leçon d'histoire de Juan sur les IOI de 1997 en Afrique du Sud. Cependant, le reste du comité a censuré la leçon, et c'est donc l'énoncé suivant qui vous est parvenu :

Abraham est un explorateur courageux qui va là où aucun programmeur n'est encore allé. Lors de sa prochaine expédition, il prévoit d'étudier un labyrinthe très curieux. Il sait que ce labyrinthe est une grille $n \times n$ avec une flèche dans chaque case. Chaque flèche pointe dans l'une des quatre directions possibles : haut, bas, gauche ou droite. Si Abraham entre dans une case, il est obligé de suivre les flèches à partir de cette case. Chaque flèche déplace Abraham d'une case dans la direction qu'elle indique ; s'il atteint une flèche pointant vers l'extérieur du labyrinthe, il peut s'échapper.

Abraham ne connaît pas l'orientation des flèches du labyrinthe, mais il dispose d'autres informations. Sur sa carte du labyrinthe, certaines cases sont coloriées en noir et d'autres en blanc. Il pense que s'il part de n'importe quelle case noire, il ne pourra jamais s'échapper du labyrinthe, tandis que s'il part de n'importe quelle case blanche, il finira par s'échapper.

L'hypothèse d'Abraham peut être fausse : il existe des dispositions de cases noires et blanches pour lesquelles les conditions indiquées ne peuvent pas être satisfaites simultanément pour toutes les cases, quelle que soit l'orientation des flèches. L'image suivante en montre un exemple.

problem_22903_fab2d834e51803a2e48c9a7b7b8a4697.png

La carte représente un labyrinthe dans lequel les cases blanches peuvent satisfaire l'hypothèse d'Abraham. S'il part de l'une ou l'autre, les flèches représentées le conduisent hors du labyrinthe, mais il est impossible qu'il reste prisonnier en partant d'une case noire, quelle que soit l'orientation que nous donnons aux flèches non représentées.

Abraham vous demande de l'aider à déterminer si, pour une coloration donnée des cases de sa carte, il existe une disposition des flèches conforme à sa conviction pour chaque case de la grille, noire comme blanche.

Entrée

  • La première ligne contient un entier positif $n$.
  • Chacune des $n$ lignes suivantes contient $n$ caractères, chacun étant 0 ou 1. 0 désigne une case noire et 1 une case blanche. Ces $n$ lignes décrivent la grille.

Sortie

Affichez SI s'il est possible d'orienter les flèches de sorte qu'Abraham ne puisse jamais s'échapper en partant d'une case noire et finisse par s'échapper en partant d'une case blanche.

Affichez NO si cela est impossible.

Exemples

Entrée 1

3
001
001
111

Sortie 1

SI

Entrée 2

2
01
10

Sortie 2

NO

Remarque

Le premier exemple correspond à la coloration suivante (représentée à gauche), accompagnée d'une disposition possible des directions des flèches :

problem_22903_1a7dc6fe29d31abba4ab21f7181cda94.png

Le deuxième exemple a été mentionné dans l'histoire du problème comme un cas où les conditions demandées ne peuvent pas être satisfaites simultanément pour toutes les cases.

Contraintes

  • $2 \le n \le 1000$.

Sous-tâches

  • Sous-tâche 1 (10 points) : $n=2$.
  • Sous-tâche 2 (25 points) : Il est garanti que les cases noires forment une région connexe et qu'au moins deux coins du labyrinthe sont noirs.
  • Sous-tâche 3 (25 points) : Il est garanti que les cases blanches forment une région connexe et que strictement moins de $4n-4$ cases sont noires.
  • Sous-tâche 4 (40 points) : Aucune contrainte supplémentaire.

Remarque

Un ensemble de cases forme une région connexe s'il existe, entre chaque paire de ses cases, un chemin qui ne traverse que des cases de cet ensemble, en se déplaçant entre des cases partageant un côté. En particulier, les cases noires forment une région connexe s'il existe un chemin constitué uniquement de cases noires entre chaque paire de cases noires. De même, les cases blanches forment une région connexe s'il existe un chemin constitué uniquement de cases blanches entre chaque paire de cases blanches.

Dans le premier exemple, les cases blanches comme les cases noires forment une région connexe.

Dans le deuxième exemple, les cases noires ne forment pas une région connexe, car tout chemin entre elles passe aussi par une case blanche.

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.