Предмет: Информатика, автор: gorina2004

Нужно срочно!

Сдать решение задачи 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, будет оцениваться в 30 баллов.

Решение, правильно работающее только для случаев, когда N ≤ 5, будет оцениваться в 60 баллов.

Пример
Ввод

Вывод

Пояснение

5
4
2
3
5
1

1
4
3
5
2

Пример соответствует рисункам. Первоначально ладьи стояли в столбцах 4, 2, 3, 5, 1 при перечислении их по строкам сверху вниз. После поворота ладьи стоят в столбцах 1, 4, 3, 5, 2.

Ответы

Автор ответа: ctulch
24

Ответ:

#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++

100 баллов


Ivants2020: f rnj cltkfk dnjhjt
Ivants2020: а кто сделал 2
kuznetcovi: какой язык программирования?
vladdm03: Спасибо бро ✊
bloodray777: Кто-то смог сделать 2-ое задание?
korchaginasa: можно на питоне
VINNY132: я крч поставил g++ и мне засчитало как верно
maria2704200544: А можно объяснить логику программы, чтобы перевести её на другой язык? Пожалуйста...
Андрей20005: Странно, написал вроде такую же прогу на c#, дало только 60 баллов.
Андрей20005: int N = int.Parse(Console.ReadLine());

var boolean = new bool[N, N];
for (int i = 0; i{

int j = int.Parse(Console.ReadLine());
boolean[i, j-1] = true;

}
for (int l = 0; l < N; l++)
{
for (int k = N - 1; k >= 0; k--)
{
if (boolean[k, l] == true)
{
Console.WriteLine(N-k);
}
}
}
Console.ReadLine();
Похожие вопросы
Предмет: Русский язык, автор: kirik30nikolaev
Предмет: География, автор: Дианусик2005