М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
assimie
assimie
26.11.2020 08:15 •  Информатика

Музей представляет собой 25 квадратных залов в форме квадрата 5×5, схему которого вы можете видеть на картинке ниже. В каждом зале музея нужно повесить табличку «Продолжение осмотра», которая указывает в один из чётырёх соседних залов. Направление осмотра будем обозначать одной из четырёх букв: «L» (влево), «R» (вправо), «U» (вверх), «D» (вниз), обозначающей, в какой из четырёх соседних залов можно пройти из данного зала.

Утром музей заполняется посетителями, но ввиду ограничений на численность в каждом зале первоначально располагается ровно один человек. После этого посетители музея начинают перемещаться в соседние залы в направлении стрелок.

Для того, чтобы посетители музея как можно больше приобщились к прекрасному, необходимо разместить таблички так, чтобы суммарное число залов, в которых побывает каждый посетитель, было как можно больше. Считается, что посетитель может побывать в каком-либо зале, если он может попасть в этот зал, перемещаясь по стрелкам. Вам необходимо придумать такое размещение табличек. При этом не следует беспокоиться о выходах из музея: если посетителю надоест блуждать по музею, он всегда сможет выйти из него, игнорируя таблички (но уже не осматривая залы).

В ответе запишите план музея — пять строк по пять символов в каждой. Каждый символ — направление обхода из соответствующего зала. Чем больше будет сумма осмотренных залов всеми посетителями музея, тем больше вы получите (для каждого посетителя считается количество осмотренных им залов и берётся сумма по всем посетителям).

Пример записи ответа (не являющегося оптимальным) для музея размера 3×3:

👇
Открыть все ответы
Ответ:
maks200906
maks200906
26.11.2020

import random import operator def quiz(): print('Welcome. This is a 10 question math quiz\n') name = input("Please enter your name") print("Hello", name," Let's begin the quiz!") score = 0 for i in range(10): correct = askQuestion() if correct: score += 1 print('Correct!\n') print(score) break else: print('Incorrect!\n') return 'Your score was {}/10'.format(score) def askQuestion(): answer = randomCalc() guess = float(input()) return guess == answer def randomCalc(): ops = {'+':operator.add, '-':operator.sub, '*':operator.mul, '/':operator.truediv} num1 = random.randint(0,11) num2 = random.randint(1,11) op = random.choice(list(ops.keys())) answer = ops.get(op)(num1,num2) print('What is {} {} {}?\n'.format(num1, op, num2))

import random import operator def quiz(): print('Welcome. This is a 10 question math quiz\n') name = input("Please enter your name") print("Hello", name," Let's begin the quiz!") score = 0 for i in range(10): correct = askQuestion() if correct: score += 1 print('Correct!') print "Score",(score),"\n" else: print('Incorrect!') print "Score",(score), "\n" print 'Your score was {}/10'.format(score) def askQuestion(): answer = randomCalc() guess = float(input()) return guess == answer def randomCalc(): ops = {'+':operator.add, '-':operator.sub, '*':operator.mul, '/':operator.truediv} num1 = random.randint(0,11) num2 = random.randint(1,11) op = random.choice(list(ops.keys())) answer = ops.get(op)(num1,num2) print('What is {} {} {}?'.format(num1, op, num2)) return answer quiz() #askQuestion() #randomCalc()

4,8(48 оценок)
Ответ:
kamikot
kamikot
26.11.2020

program SortV;

const

 n = 100;   // количество элементов в массиве

 r = 1000;  // максимальное значение числа

 w = 4;     // ширина поля для вывода на экран

var

 a: Array [1..n] of Integer;

 i, j, jmin, atmp: Integer;

begin

 Randomize;

 for i := Low (a) to High (a) do begin

   a [i] := Random (r);

   Write (a [i] :w);

 end;

 for i := Low (a) to High (a) do begin

   jmin := i;

   for j := i + 1 to High (a) do begin

     if a [j] < a [jmin] then             // возрастание и убывание меняется знаком "<" или ">" в этом операторе

       jmin := j;

   end;

   atmp := a [i];

   a [i] := a [jmin];

   a [jmin] := atmp;

 end;

 WriteLn; WriteLn;

 for i := Low (a) to High (a) do begin

   Write (a [i] :w);

 end;

 ReadLn;

end.

program SortU;

const

 n = 100;   // количество элементов в массиве

 r = 1000;  // максимальное значение числа

 w = 4;     // ширина поля для вывода на экран

var

 a: Array [1..n] of Integer;

 i, j, jmax, atmp: Integer;

begin

 Randomize;

 for i := Low (a) to High (a) do begin

   a [i] := Random (r);

   Write (a [i] :w);

 end;

 for i := Low (a) to High (a) do begin

   jmax := i;

   for j := i + 1 to High (a) do begin

     if a [j] > a [jmax] then        // возрастание и убывание меняется знаком "<" или ">" в этом операторе

       jmax := j;

   end;

   atmp := a [i];

   a [i] := a [jmax];

   a [jmax] := atmp;

 end;

 WriteLn; WriteLn;

 for i := Low (a) to High (a) do begin

   Write (a [i] :w);

 end;

 ReadLn;

end.

4,4(78 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ