Skecher
22.09.2020 04:40

На шахматной доске размером N× N расставлено N шахматных ладей не бьющих друг друга, то есть на каждой вертикали и каждой горизонтали стоит ровно одна ладья. Шахматную доску повернули на по часовой стрелке. Выведите получившуюся расстановку ладей.

Формат ввода
Первая строка входных данных содержит целое число N, 1≤ N≤ 105 — размер доски. Следующие N строк содержат по одному числу от 1 до N, а именно, в i-й строке записано число ai — номер вертикали, в которой стоит ладья на i-й горизонтали. В этой задаче горизонтали нумеруются числами от 1 до N сверху вниз, вертикали нумеруются числами от 1 до N слева направо (см. рисунок).

Формат вывода
Программа должна вывести N чисел — расстановку ладей после поворота в таком же формате.

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

|

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

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

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
Miya5koka
16.11.2020 20:38
Задача №1

var a:array [1..20] of integer;     
i:integer;
begin 
randomize;   
for i:=1 to 20 do begin   
a[i]:=random(19-(-10)+1)+-10;     
write (a[i],' ');           
end;
end.

Задача №2

var a:array [1..20] of integer; 
i:integer; 
begin 
writeln('Введите числа в интервале [-20;29]'); 
for i:=1 to 10 do read(a[i]); 
for i:=1 to 10 do 
if (a[i]>-29) and (a[i]<20) then write(a[i],' '); 
end.

Задача №3

var a:array [1..20] of integer; 
i,sum:integer; 
begin 
randomize; 
sum:=0; 
for i:=1 to 20 do 
begin 
a[i]:=random(19-(-10)+1)+-10; 
write (a[i],' '); 
if a[i]>0 then sum:=sum+1; 
end; 
writeln('Количество положительных элементов массива = ', sum); 
end.

Задача №4

var a:array [1..20] of integer; 
i:integer; 
begin 
randomize; 
for i:=1 to 20 do 
begin 
a[i]:=random(19-(-10)+1)+-10; 
if a[i]<0 then a[i]:=0; 
write (a[i],' '); 
end; 
end.

Задача №5

var a:array [1..20] of integer; 
i,sum:integer; 
begin 
randomize; 
sum:=0; 
for i:=1 to 20 do 
begin 
a[i]:=random(19-(-10)+1)+-10; 
write (a[i],' '); 
if a[i]>0 then sum:=sum+a[i]; 
end; 
writeln('Сумма положительных элементов массива = ', sum); 
end.
0,0(0 оценок)
Ответ:
федот228
16.11.2020 20:38
// PascalABC.NET 3.0, сборка 1128
begin
  var a:=ArrRandom(20,-10,19);
  a.Println(','); // 1
  var b:=ReadArrInteger('Введите 10 целых чисел',10); // 2
  Writeln('Количество положительных элементов ',
    a.Where(x->x>0).Count); // 3
  for var i:=0 to 19 do
    if a[i]<0 then a[i]:=0;
  Writeln('Массив А после замены отрицательных'); a.Println(','); //4
  Writeln('Сумма положительных элементов ',
    a.Where(x->x>0).Sum) // 5
end.

Тестовое решение:
14,8,9,-5,6,3,3,-10,-8,18,7,13,2,17,-1,0,4,-3,8,-8
Введите 10 целых чисел -5 0 13 -7 -14 11 8 19 -3 -1
Количество положительных элементов 13
Массив А после замены отрицательных
14,8,9,0,6,3,3,0,0,18,7,13,2,17,0,0,4,0,8,0
Сумма положительных элементов 112
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота