Нужно Сдать решение задачи 3-Мирные ладьи
Полный : 100
Ограничение времени: 1 с
Ограничение памяти: 512M
Ограничение размера стека: 64M
Задача 3: Мирные ладьи
На шахматной доске размером N × N расставлено N шахматных ладей не бьющих друг друга, то есть на каждой вертикали и каждой горизонтали стоит ровно одна ладья.
Шахматную доску повернули на 90° по часовой стрелке. Выведите получившуюся расстановку ладей.
Входные данные
Первая строка входных данных содержит целое число N, 1 ≤ N ≤ 105 — размер доски. Следующие N строк содержат по одному числу от 1 до N, а именно, в i-й строке записано число ai — номер вертикали, в которой стоит ладья на i-й горизонтали. В этой задаче горизонтали нумеруются числами от 1 до N сверху вниз, вертикали нумеруются числами от 1 до N слева направо (см. рисунок).
Выходные данные
Программа должна вывести N чисел — расстановку ладей после поворота в таком же формате.
Система оценивания
Решение, правильно работающее только для случаев, когда N ≤ 5, будет оцениваться в
Решение, правильно работающее только для случаев, когда N ≤ 5, будет оцениваться в
Пример
Ввод
Вывод
Пояснение
5
4
2
3
5
1
1
4
3
5
2
Пример соответствует рисункам. Первоначально ладьи стояли в столбцах 4, 2, 3, 5, 1 при перечислении их по строкам сверху вниз. После поворота ладьи стоят в столбцах 1, 4, 3, 5, 2.
#include <iostream>
using namespace std;
int main()
{
int N, b;
cin >> N;
int B[N][1];
for(int i=0; i < N; i++){
cin >> b;
B[b-1][0]=N-i;
}
for(int j=0; j <N; j++)
cout << B[j][0] << endl;
return 0;
}
Объяснение:
C++