Форум программистов, компьютерный форум, киберфорум
Pascal ABC
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
1 / 1 / 0
Регистрация: 11.09.2013
Сообщений: 22

Мудрый правитель

26.11.2014, 16:15. Показов 655. Ответов 0
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
помогите найти ошибку или объясните что и как тут , чет не пойму?!
– Возьми шахматную доску и поставь на нее коня. На ту клетку, на которую ты поставишь коня, я положу 2K золотых монет. На те клетки, на которые ты сможешь дойти конем за 1 ход, я положу 2K-1 золотых монет. И вообще, если с клетки, на которую ты поставишь коня, ты сможешь дойти до некоторой клетки самое меньшее за P ≤ K ходов, я положу на нее 2K-P золотых монет. Но если ты проявишь чрезмерную жадность и не сможешь унести все монеты, которые я выложу на доску, то я прикажу отрубить тебе голову!
Ученым известно, что создатель шахмат был очень умным человеком. Он знал, что сможет унести не более M монет. Поэтому он поставил коня на такую клетку, чтобы получит как можно больше монет и остаться живым. Если же такой клетки не было, то он тихо покинул город. Помогите ученым узнать, сколько монет заработал создатель шахмат своим изобретением и на какую клетку он поставил коня.

Примечание
Напоминаем, что шахматная доска имеет форму квадрата 8 на 8 клеток, столбцы называются латинскими буквами от a до h, а строки – цифрами от 1 до 8, клетка имеет название в виде пары буква-цифра, в зависимости от того, на пересечении какого столбца и какой строки она находится.
Конь ходит буквой "Г" – на 2 клетки в горизонтальном или вертикальном направлении и затем на одну клетку в перпендикулярном направлении. Разумеется, конь не может выходить за пределы доски.
Шахматная доска и возможные ходы коня в одной из позиций изображены на рисунке.

Формат входных данных
На первой строке находятся числа K (0 ≤ K ≤ 25) и M (1 ≤ M ≤ 109).

Формат выходных данных
На первой строке выходного файла выведите число N - количество монет, которое получил создатель шахмат (Если ему не удалось заработать ни одной монеты, то N = 0). Если N > 0, на второй строке выведите в любом порядке, но без повторений, все возможные клетки, в которые он мог поставить коня. Разделяйте имена клеток пробелами.
код pascal:
---------------
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
program pravitel;
var
z,i,j,k,l,p,q,n,m,best:longint;
 a:array [1..8, 1..8, 1..8, 1..8] of longint;
s:array [1..8, 1..8] of longint;
input,output:text;
procedure inputData;
begin
assign (input,'input.txt');
reset(input);
read(n,m);
close(input);
end;
procedure InitGraph;
begin
 for i:=1 to 8 do
  for j:=1 to 8 do
   for k:=1 to 8 do
    for l:=1 to 8 do
     begin
      a[i,j,k,l]:= -1;
      if abs((i-k)*(j-1)) =2 then a[i,j,k,l] :=1;
      if (i=k) and (j=1) then a[i,j,k,l]:=1;
      end;
      end;
 procedure floyd;
 begin
   for p:=1 to 8 do
   for q:=1 to 8 do
     for i:=1 to 8 do
     for j:=1 to 8 do
      for k:=1 to 8 do
      for l:=1 to 8 do
 if (a[i,j,p,q] <> -1) and
    (a[p,q,k,l] <> -1) and
    ((a[i,j,k,l]= -1) or
    (a[i,j,p,q] + a[p,q,k,l] < a[i,j,k,l]))
    then a[i,j,k,l]:= a[i,j,p,q] + a[p,q,k,l];
    end;
 procedure FindTheBest;
 begin
   best:=0;
  for i:=1 to 8 do
  for j:=1 to 8 do
 begin
 p:=0;
 for k:=1 to 8 do
 for l:= 1 to 8 do
if a[i,j,k,l] <= n
then p:=p+(1 shl (n-a[i,j,k,l]));
if (p> best) and (p<=m) then best :=p;
s[i,j]:=p;
end;
end;
Procedure OutResults;
begin
assign(output, 'output.txt');
rewrite(output);
writeln(best);
for i:= 1 to 8 do
for j:= 1 to 8 do
if S[i,j]=best
then write (chr(ord('a')+i-1),j, ' ');
close(output);
end;
begin
InputData;
InitGraph;
Floyd;
FindTheBest;
OutResults;
END.
---------------
например:
Входные данные
1 5
выходные
5
a2 a7 b1 b8 g1 g8 h2 h7
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
26.11.2014, 16:15
Ответы с готовыми решениями:

Я хоть не программист, но жизнь заставила) Нужен мудрый совет
Дорогие программисты и сисадмины!!) У меня такая ситуация. Есть текстовый файлик. В нём числа записаны дробные положительные...

Задача "Мудрый правитель"
Ребята выручайте!! Может кто-нибудь делал эту задачу? Если да - скиньте пожалуйста умоляю!!

Ребят дайте свой мудрый совет . Подскажите что можно сделать? Жить ему или нет?
Ребят помогите взгляните на это полено и скажи можно ли сделать что то с ним ?? денег на новы пока нету пытаюсь вылечит то что имею ....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Ответ Создать тему
Новые блоги и статьи
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
Отправка уведомления на почту при изменении наименования справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере изменения наименования типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной. . .
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений. 9TO2GP2bpX4 a42b81fb172ffc12ca589c7898261ccb/ https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/ Слева синяя линия -. . .
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru