Міністерство освіти и науки України
Національний університет Львівська політехніка
Кафедра автоматизованого систем управління
Звіт
до розрахункової роботи
з Теорії алгоритмів
Алгоритми розв язання лабірінтніх та ігрових завдань
Виконала:
ст. групи КН - 21
Прач Ю.О.
прийнять:
Цимбал Ю.В.
Львів - 2011
Мета:
? навчітіся розробляті алгоритми лабірінтніх та ігрових завдань.
Індивідуальне Завдання:
. (Прач) Числа від 1 до 15 розставлені в клітінках на дошці, як зображено на малюнку. Вікорістовуючі одну вільну коміркі (в центрі), перемістіть числа, щоб розставіті їх у такому ж порядку, но з числом 15 в центральній комірці.
Алгоритм
Рухаємо числа и пробуємо Різні варіанти розміщень, альо з одною Умова - 14, 15 и 1 всегда мают буті в особливую позіціях. Інакше завдання не буде мати розв язку.
Код програми
ігровий завдання інформація стратегія
# include lt; stdio.h gt;
# include lt; stdlib.h gt;
# include lt; clocale gt;
# include lt; Windows.h gt; [16]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15, 0}; ()
{(LC_CTYPE, ukr ); (1251); (1251) ;, i; ( Початковий стан: n ); (i=0; i lt; 16; i ++ ) (% d raquo ;, mas [i]); ( n );
//1-а перестановка=mas [15]; [15]=mas [0]; [0]=mas [14]; (i=14; i gt; 10; i--) [i]=mas [i - 1]; [i]=mas [15]; [15]=temp; ( Перша перестановка: n ); (i=0; i lt; 16; i ++) ( % d raquo ;, mas [i]); ( n );
//2-а перестановка=mas [15]; [15]=mas [10]; (i=10; i gt; 5; i -) [i]=mas [i -1]; [i]=mas [15]; [15]=temp; ( Друга перестановка: n ); (i=0; i lt; 16; i ++) (% d raquo ;, mas [ i]); ( n );
//третій перестановка=mas [15]; [15]=mas [0]; [0]=mas [14]; (i=14; i gt; 10; i--) [i]=mas [i - 1]; [i]=mas [15]; [15]=temp; ( Третя перестановка: n ); (i=0; i lt; 16; i ++) ( % d raquo ;, mas [i]); ( n );
//4-а перестановка=mas [15]; [15]=mas [10]; (i=10; i gt; 5; i -) [i]=mas [i -1]; [i]=mas [15]; [15]=temp; ( Четверта перестановка: n ); (i=0; i lt; 16; i ++) (% d raquo ;, mas [ i]); ( n );
//5-а перестановка=mas [15]; [15]=mas [0]; [0]=mas [14]; (i=14; i gt; 10; i--) [i]=mas [i - 1]; [i]=mas [15]; [15]=temp; ( П 'ята перестановка: n ); (i=0; i lt; 16; i ++) (% d raquo ;, mas [i]); ( n );
//6-а перестановка=mas [15]; [15]=mas [5]; (i=5; i gt; 0; i -) [i]=mas [i -1]; [i]=mas [15]; [15]=temp; ( Шоста перестановка: n ); (i=0; i lt; 16; i ++) (% d raquo ;, mas [ i]); ( n );
//7-а перестановка=mas [15]; [15]=mas [10]; (i=10; i gt; 5; i -) [i]=mas [i -1]; [i]=mas [15]; [15]=temp; ( Сьома перестановка: n ); (i=0; i lt; 16; i ++) (% d raquo ;, mas [ i]); ( n );
//8-а перестановка=mas [15]; [15]=mas [0]; [0]=mas [14]; (i=14; i gt; 10; i--) [i]=mas [i - 1]; [i]=mas [15]; [15]=temp; ( восьми перестановка: n ); (i=0; i lt; 16; i ++) ( % d raquo ;, mas [i]); ( n );
//9-а перестановка=mas [15]; [15]=mas [5]; (i=5; i gt; 0; i -) [i]=mas [i -1]; [i]=mas [15]; [15]=temp; ( Дев 'ята перестановка: n ); (i=0; i lt; 16; i ++) (% d , mas [i]); ( n );
//10-а перестановка=mas [15]; [15]=mas [10]; (i=10; i gt; 5; i -) [i]=mas [i -1]; [i]=mas [15]; [15]=temp; ( десяти перестановка: n ); (i=0; i lt; 16; i ++) (% d raquo ;, mas [ i]); ( n );
//11-а перестановка=mas [15]; [15]=mas [0]; [0]=mas [14]; (i=14; i gt; 10; i--) [i]=mas [i - 1]; [i]=mas [15]; [15]=temp; ( Одіннадцята перестановка: n ); (i=0; i lt; 16; i ++) ( % d raquo ;, mas [i]); ( n );
//12-а перестановка=mas [15]; [15]=mas [5]; (i=5; i gt; 0; i -) [i]=mas [i -1]; [i]=mas [15]; [15]=temp; ( дванадцяти перестановка: n ); (i=0; i lt; 16; i ++) (% d raquo ;, mas [ i]); ( n );
//13-а перестановка=mas [15]; [15]=mas [10]; (i=10; i gt; 5; i -) [i]=mas [i -1]; [i]=mas [15]; [15]=temp; ( Тринадцята перестановка: n ); (i=0; i lt; 16; i ++) (% d raquo ;, mas [ i]); ( n );
//14-а перестановка=mas [15]; [15]=mas [0]; [0]=mas [14]; (i=14; i gt; 10; i--) [i]=mas [i - 1]; [i]=mas [15]; [15]=temp; ( чотирнадцятим переста...