Форум программистов, компьютерный форум, киберфорум
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
Другие темы раздела
Pascal Массивы https://www.cyberforum.ru/ pascal/ thread2771093.html
Программа создает одномерный динамический массив заданной размерности, заполняет его случайными числами от 0 до 50 и выводит на экран. Затем в массиве удаляются все элементы, у которых первая цифра...
Pascal Матрица в Паскаль
Даны две целочисленные квадратные матрицы порядка 6 Найти последовательность из нулей и единиц b1,…,b6 такую, что bi =1, если все элементы i-й строки первой и второй матриц отрицательны и min i-ой...
Pascal Проблема с CharRange и IntegerRange
Всем привет! Значит сел я делать дз по ОАИП и открыл для себя новые типы в паскале: CharRange и IntegeRange Мне вообщем-то просто переменной name, secname нужно присвоить определенные значиния с...
Pascal Массив Программу напишите пожалуйста Дан массив из 5х3 целых чисел. Напишите программу вычисления количества элементов массива, среди двузначных чисел, у которых вторая цифра кратна первой. https://www.cyberforum.ru/ pascal/ thread2770662.html
Pascal Программа на строки https://www.cyberforum.ru/ pascal/ thread2770584.html
Дана строка русских слов разделенных пробелом в конце стоит точка. Необходимо найти процентное соотношение гласных и согласных букв в каждом слове предшествующему самому длинному последнему по...
Pascal Работа с файлами
Создать типизированный файл, элементами которого являются целые числа от 0 до 100 в заданном количестве. Создать новый файл в соответствии с заданием, а затем открыть его и вывести все элементы. ...
Pascal Определить сколько полных оборотов сделает точка вокруг (0,0) пройдя по траектории
Вводится последовательность точек на координатной плоскости, ((0,0) признак конца последовательности). Траектория  блуждания точки из (1,0).  Определить сколько полных оборотов сделает точка вокруг...
Pascal Переставить чётные цифры в числе местами На вход программе подается натуральное число. Нужно переставить чётные цифры в обратном порядке. Например на входе 12345678 на выходе 18365472. https://www.cyberforum.ru/ pascal/ thread2770529.html
Pascal Написать программу формирования вектора. https://www.cyberforum.ru/ pascal/ thread2770164.html
Заданы два вектора X = { xi} и Y = { yi}, i = 1 / n. Написать программу формирования третьего вектора Z = { zi }, каждый элемент которого zi = max ( xi, yi). Помогите пожалуйста.
Pascal Как получить строку из массива? const Rims: array of string = ('M', 'CM', 'D', 'CD', 'C', 'XC', 'L', 'XL', 'X', 'IX', 'V', 'IV', 'I'); Arab: array of integer = (1000, 900, 500, 400, 100, 90, 50, 40, 10, 9, 5, 4, 1); var ... https://www.cyberforum.ru/ pascal/ thread2770051.html
Pascal Функция скопировать элементы одного массива в другой https://www.cyberforum.ru/ pascal/ thread2770045.html
Здравствуйте! Помогите решить задачу. Есть типы TIndex = 0..29; TNumbers = array of integer; Нужно написать следующую функцию function arraycopy (First : TNumbers; FirstStart : TIndex; var...
Pascal Найти площадь поверхности и объем правильной шестиугольной пирамиды Сторона основания правильной шестиугольной пирамиды равна а, а высота –h. Найти площадь поверхности и объем пирамиды. Помогите пожалуйста решить задачу в паскале https://www.cyberforum.ru/ pascal/ thread2769996.html
0 / 0 / 0
Регистрация: 05.07.2019
Сообщений: 12
0

Написать программу "Магия Копперфильда"

18.01.2021, 20:38. Просмотров 1715. Ответов 0
Метки (Все метки)


Всемирно известный маг Дэвид Копперфильд любит показывать следующий трюк. Квадрат из N столбцов и N строк, в каждой клетке которого находится какая-нибудь картинка, появляется на экране телевизора. Пусть все картинки пронумерованы следующим образом:

12N
N+1N+22*N
:::
N*(N–1)+1N*(N–1)+2N*N


Дэвид просит каждого зрителя поставить палец на левую верхнюю картинку (то есть в клетку номер 1), и Магия начинается: маг просит зрителей сдвинуть свой палец K1 раз в произвольном направлении (сдвигать палец разрешается только на соседнюю картинку по горизонтали или по вертикали, оставлять палец на месте запрещено, при этом если, допустим, Дэвид попросил сдвинуть палец 3 раза, то можно, например, сдвинуть палец на одну клетку вправо, затем — на одну клетку вниз, затем — на одну вверх). Затем со словами "Ваш палец не здесь" Дэвид убирает некоторые картинки, и — что удивительно, пальцы телезрителей действительно не указывают на те картинки, которые убирает Дэвид. Затем он просит сделать K2 ходов, и так далее (если Дэвид уже убрал какую-то картинку, то ходить через эту клетку нельзя). В конце, Дэвид убирает все картинки, кроме одной, и, улыбаясь, говорит: "Вы здесь" (аплодисменты).

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

Входные данные
Во входном файле записано одно число N - размер квадрата (2 <= N <= 100).

Выходные данные
В выходной файл ваша программа должна печатать следующие строки чисел:

K1 X1,1 X1,2 … X1,m1

K2 X2,1 X2,2 … X2,m2



Ke Xe,1 Xe,2 … Xe,me

где Ki — это число ходов, которые должны сделать телезрители, а Xi,1 … Xi,mi — номера картинок, которые Дэвид должен убрать с экрана после этого. При этом все Ki должны удовлетворять условию 2N <= Ki <= 10000 и все Ki должны быть различны. Каждая картинка (кроме той, которая останется) должна убираться ровно один раз. После каждой просьбы зрителей сделать Ki ходов, Дэвид должен убирать хотя бы одну картинку. Каждое Ki должно печататься в начале новой строки. Ситуаций, когда телезритель остался на клетке, у которой нет соседних, а его просят куда-нибудь ходить, возникать не должно.

Примеры:

входные данные
3
выходные данные
7 1 3 7 9
9 2 4 6 8

Прошу помогите написать программу (Pascal).

Вернуться к обсуждению:
Написать программу "Магия Копперфильда"
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
18.01.2021, 20:38
Готовые ответы и решения:

Написать программу проверки правильности написания сочетаний "жи", "ши", "ча", "ща", "чу", "щу". Исправить ошибки
дан текст.написать программу проверки правильности написания сочетаний &quot;жи&quot;, &quot;ши&quot;, &quot;ча&quot;, &quot;ща&quot;,...

Написать программу на языке паскаль, которая из слов "a" и "b" составит новое слово "c"
Начало программы: var a,b,c:string; begin writeln('Введите строку a'); readln(a)...

Написать программу, выясняющую, есть ли в слове X буква "а", стоящая на нечётном месте после буквы "к"
Написать программу, выясняющую, есть ли в слове X буква &quot;а&quot;, стоящая на нечётном месте после буквы...

Решение заданий типа "Array","Matrix","String","File","Text"""
большая просьба помочь решить где-то около 35-40 (из 100) задач (мне не понятных) типа массив и...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.