A. Перестановка
Отличница Маша выписала на доске перестановку чисел от 1 до N. Но хулиган Вася изменил её, проделав над всеми числами одновременно следующую операцию: если в i-ой позиции стояло число j, а в j-й - число k, то во i-ую позицию он записал число k. Помогите Маше восстановить исходную перестановку.
Входные данные
В первой строке записано число N (1≤N≤1000).
Во второй строке записана перестановка чисел от 1 до N, получившаяся после действий Васи.
Выходные данные
Если исходную перестановку восстановить невозможно, то в выходной файл записать слово 'NO'.
Иначе в первую строку записать слово 'YES', а во вторую - искомую перестановку.
Пример входного и выходного файлов
GAME.IN |
GAME.OUT |
4
2 3 1
|
YES
1 2 3 4
|
Дана шахматная доска NxN, на которой расставлены ладьи. Требуется раскрасить их в наименьшее количество цветов так, чтобы на одной горизонтали и вертикали не стояло одноцветных ладьей.
Входные данные
В первой строке входного файла записано число N (1≤N≤100).
В последующих N строках записана шахматная доска (матрица NxN), где пустое поле обозначается символом '.', а поле с ладьёй - символом '*' (пробелов между символами в одной строке нет).
Выходные данные
В первой строке выходного файла вывести M - минимальное количество цветов.
В последующих N строках вывести шахматную доску, в которой пустое поле обозначается числом 0, а ладья, покрашенная в цвет номер K, - числом K.
Пример входного и выходного файлов
INPUT.TXT |
ROOK.TXT |
2
*.
**
|
2
2 0
1 2
|
С. Внутренности
Дана замкнутая ломаная, звенья которой не имеют общих отрезков. Назовём точку на плоскости внутренней к ломаной, если существует луч с началом в этой точке, пересекающий звенья ломаной в нёчетном числе точек. Назовём область на плоскости внутренней к данной ломаной, если все её точки внутренние, а остальные точки плоскости не являются внутренними.
Требуется определить площадь внутренней к данной ломаной области.
Входные данные
В первой строке входного файла записано число N (3≤N≤100) - количество вершин ломаной.
В последующих N строках - координаты вершин ломаной.
Выходные данные
В выходной файл вывести площадь внутренней к ломаной области.
Пример входного и выходного файлов
INSIDE.OUT |
OUTSIDE.IN |
8
0.0 0.0
0.0 6.0
2.0 6.0
2.0 2.0
-2.0 2.0
-2.0 4.0
4.0 4.0
4.0 0.0
|
20
|