//pascalabc.net версия 3.4.0.1677 от 17.06.18
//если программа не запускается, то обновите версию
const
input_file = 'kon.in';
output_file = 'kon.out';
type
tcell = class
public
x, y: integer;
constructor create(coords: string);
begin
coords : = coords.();
y : = strtoint(coords[2]);
x : = ord(coords[1]) - ord('a') + 1;
end;
constructor create(i, j: integer);
begin
y : = j;
x : = i;
end;
function isdeskcell(): boolean;
begin
result : = (x > 0) and (y > 0) and (x < = 8) and (y < = 8);
end;
class function operator+(a, b: tcell): tcell;
begin
result : = new tcell(a.x + b.x, a.y + b.y);
end;
class function operator=(a, b: tcell): boolean;
begin
result : = (a.x = b.x) and (a.y = b.y);
end;
function tostring: string; override;
begin
result : = format('({0}, {1})', x, y);
end;
end;
procedure printanswer(path: list< tcell> );
begin
var f : = openwrite(output_file);
writeln(f, path.count() - 1);
println(path.count() - 1);
println(path);
f.close();
end;
begin
var knight_steps : = arr(
new tcell(1, 2),
new tcell(2, 1),
new tcell(2, -1),
new tcell(1, -2),
new tcell(-1, -2),
new tcell(-2, -1),
new tcell(-2, 1),
new tcell(-1, 2)
);
// var f : = openwrite(input_file);
// writeln(f, 'a1');
// writeln(f, 'b2');
// f.close();
// exit;
var f : = openread(input_file);
var pawn_place: tcell : = new tcell(f.;
var knight_place: tcell : = new tcell(f.;
f.close();
var paths : = new list< list< tcell> > ();
var occupied_cells : = new list< tcell> ();
paths.add(seq(knight_place).tolist);
occupied_cells.add(knight_place);
repeat
var new_paths : = new list< list< tcell> > ();
foreach var path in paths do
begin
foreach var step in knight_steps do
begin
var p : = new list< tcell> (path);
var t : = p.last + step;
if t.isdeskcell() and not occupied_cells.contains(t) then begin
p.add(t);
new_paths.add(p);
occupied_cells.add(t);
end;
if t = pawn_place then begin
printanswer(p);
exit;
end;
end;
end;
paths : = new_paths;
until (false)
end.
Поделитесь своими знаниями, ответьте на вопрос:
Язык python (возможно, кто знает pascal тоже самое) как составить цикл while, чтобы пользователь вводил в нем в пределах от 10 до 25000. если он введет меньше 10 или больше 25000, то цикл повторится и будет до тех пор, пока пользователь не введет число в пределах от 10 до 25000
1. создать правой кнопкой мыши и создать документ word(сохранить ctrl+s).
2. поиск (ctrl+f). замена (ctrl+h).
3. нажать (ctrl+h) в поле найти вписать текст который нужно заменить, а в поле (заменить на) на что будем заменять.
4. маркированный , нумерованный , многоуровневый.
5. выделить текст, зайти в вкладку "разметка страниц" выбрать "колонки" и там уже на сколько хотите разбить.
6. в старых версиях word можно выделить текст и нажать правой кнопкой в конце выбрать "стили" далее "сохранить выделенный фрагмент как новый экспресс-стиль" и уже редактировать под себя. в новых версиях вкладка главная правый верхний угол "стили" далее в конце списка "создать стиль" и редактировать под себя.
7. вкладка главная правый верхний угол есть все ваши стили ищете свой и просто нажимаете на него.