Список вопросов
Страна замов. Напишите программу на Python
10th December, 18:14
410
0
На листе клетчатой бумаги рисуют выпуклый 100-угольник с вершинами в узлах сетки. Какое наибольшее число диагоналей этого 100-угольника может идти по линиям сетки?
7th November, 15:29
267
0
Рассмотрим все прямоугольники, длины сторон которых выражены целым числом метров, и периметр которых (в метрах) численно равняется площади (в метрах квадратных). Найдите суммарную площадь всех таких, разных по размеру сторон, прямоугольников.Прямоугольники, отличающиеся порядком сторон, например, 10 * 20 и 20 * 10 считаем одинаковыми.
7th October, 20:57
741
0
Кто и за сколько может написать программу управления курсором?
2nd October, 23:48
501
3
Как авторизоваться на novafilm.tv при помощи cURL?
2nd October, 23:33
381
3
Верстка, position:relative создает пустое место
2nd October, 23:31
324
2
Что улучшить в переводе Apache Public License?
2nd October, 23:29
329
1
Формирование кода видео Вконтакте
2nd October, 23:23
402
3
IPad2 с 3G из Штатов?
2nd October, 23:18
373
5
А будет ли tcpdump видеть ack flood?
2nd October, 23:14
290
2
Альфа банк и странное смс мошенничество?
2nd October, 23:05
665
6
Софт для "ремонта" поврежденного h264 видео?
2nd October, 22:55
301
3
Scrapy — Python
2nd October, 22:54
313
4
Помощь с доставкой из США?
2nd October, 22:47
339
3
Создание stop-motion ролика
2nd October, 22:41
374
5
Верстка ul/li в несколько колонок?
2nd October, 22:41
275
13
Существует ли поисковик, отсортированный по дате?
2nd October, 22:32
309
3
Вопрос к пользователям HTC HD7?
2nd October, 22:32
330
2
Как получить путь к аватару пользователя когда он авторизируется на сайте через openid google?
2nd October, 22:20
345
2
Что случилось с Кенгуру.ТВ?
2nd October, 22:19
380
3
Решение задачи Путь коня с Меньшиков
Без пояснения   Просмотров: 131
Дана шахматная доска, состоящая из NxN клеток, несколько из них вырезано. Провести ходом коня через невырезанные клетки путь минимальной длины из одной заданной клетки в другую.
Код
#include #include #include #include #include using namespace std; const char knight = '@'; const char check = 'X'; struct point { int x,y; point(){} point(int X, int Y) { x = X; y = Y; } }; bool operator == (const point &a, const point &b) { return a.x == b.x && a.y == b.y; } int moveX[8] = {-2,-2,-1,-1, 1,1, 2,2}; int moveY[8] = {-1, 1,-2, 2,-2,2,-1,1}; int n; vector field; vector > mas; point begin, end; void input() { cin>>n; field.resize(n); mas = vector >(n,vector (n,0)); for (int i=0;i >field[i]; bool isFirst = true; for (int i=0;i =n || y>=n) return false; return true; } void BFS() { mas[begin.x][begin.y] = 1; queue q; q.push(begin); while (!q.empty()) { point cur = q.front(); q.pop(); for (int i=0;i<8;i++) { int x = cur.x + moveX[i]; int y = cur.y + moveY[i]; if (correct(x,y) && field[x][y] != '#' && mas[x][y] == 0) { mas[x][y] = mas[cur.x][cur.y] + 1; point next(x,y); q.push(next); if (next == end) return; } } } } void findAnswer() { point cur = end; while (!(cur==begin)) { for (int i=0;i<8;i++) { int x = cur.x + moveX[i]; int y = cur.y + moveY[i]; if (correct(x,y) && mas[x][y] + 1 == mas[cur.x][cur.y]) { cur = point(x,y); field[x][y] = knight; break; } } } } void output() { for (int i=0;i
 
 
 
 
 
Автор: Администратор
