[Ответить в тред] Ответить в тред

Тред закрыт.


03/04/16 - Набор в модераторы 03.04 по 8.04
26/03/16 - Конкурс: Помоги гомункулу обрести семью!
15/10/15 - Набор в модераторы 15.10 по 17.10



[Назад][Обновить тред][Вниз][Каталог] [ Автообновление ] 4 | 1 | 1
Назад Вниз Каталог Обновить

Привет ,аноны.Я ньюфаг Анон просит помощи по алгоритмическим задачам 31/05/16 Втр 22:26:30  758864   Обсуждение закрыто  
14647227908620.jpg (21Кб, 500x470)
Привет ,аноны.Я ньюфаг и только учусь,пока решаю подобные задачи.Но есть одна проблема,времени у меня оочень мало,поэтому прошу помочь мне / решить эти задачи.
Желательно на Cpp и Рascal,т.к. учу их.Большое спасибо!
1ая задача:

Угадай число

Ограничение времени 2 секунды
Ограничение памяти 512Mb
Ввод стандартный ввод или input.txt
Вывод стандартный вывод или output.txt
Это интерактивная задача.
Некто загадал целое число x (1 ≤ x ≤ n). Ваша программа должна угадать это число во взаимодействии с тестирующей системой. Всего можно делать два различных типа действий:
? y (1 ≤ y ≤ n) — попросить сравнить загаданное число с числом y. В ответе будет или строка “>=”, обозначающая, что x ≥ y, или строка “<”, обозначающая, что x < y.
! y (1 ≤ y ≤ n) — сообщить y в качестве ответа. После чего ваша программа должна завершиться.
Протокол взаимодействия
Сначала на вход Вашей программе подаётся целое число n (1 ≤ n ≤ 109). После этого тестирующая система готова отвечать на запросы Вашей программы.
Выводите запросы по одному на строку в соответствии с условиями. После каждого запроса формата “? y” считываете строку с ответом на него. Всего количество запросов такого типа не может превышать двоичный логарифм числа n, округлённый вверх. Если количество запросов будет превышено, результатом проверки будет ошибка “Wrong answer”.
Не забывайте после каждого запроса: 1) выводить перевод строки; 2) очищать буфер вывода. Например, в C/C++ это можно сделать с помощью функций fflush(stdout) или cout.flush(), в Pascal - с помощью flush(output).
Interaction Example
16
? 9
<
? 5
>=
? 7
<
? 6
>=
! 6


(Автор этого поста был предупрежден.)
Анон просит помощи по алгоритмическим задачам 31/05/16 Втр 22:27:57  758867
2ая задача :
Перестановки

Ограничение времени 1 секунда
Ограничение памяти 64Mb
Ввод стандартный ввод или input.txt
Вывод стандартный вывод или output.txt
Сгенерируйте все перестановки чисел 1,…,n и выведите их в таком порядке, что любые две соседние перестановки отличаются только порядком двух соседних элементов (к примеру, за 1, 2, 3, 4 может следовать 1, 2, 4, 3, но не 1, 4, 3, 2).
Формат ввода

Входной файл содержит одно целое число 1 ≤ n ≤ 8.
Формат вывода

Выведите строк, каждая из которых содержит очередную перестановку — n целых чисел, разделённых пробелом.
Пример

Ввод
3
Вывод
1 2 3
1 3 2
3 1 2
3 2 1
2 3 1
2 1 3

Есть код,но не могу найти,как пофиксить ошибку

var
a: array[1..1000] of integer;
n, j: integer;
kol: longint;
t: text;

procedure gen(l, r: integer; var k: longint);
var
i, j, v: integer;

begin
if l=r then
begin
for j := 1 to n do write(t,a[j], ' ');
writeln(t);
end
else
for i := l to r do
begin
gen(l + 1, r, k);
if i<r then
begin
v := a[l];a[l] := a[l+1];a[l+1] := v;
end;
end;
end;

begin
assign(t, 'input.txt');
reset(t);
readln(t, n);
close(t);
assign(t, 'output.txt');
rewrite(t);
for j := 1 to N do
A[j] := j;
gen(1, n, kol);
close(t);
end.
Анон просит помощи по алгоритмическим задачам 31/05/16 Втр 22:38:31  758884
Бамп.
Аноним 31/05/16 Втр 22:39:47  758887
Бамп
Аноним 31/05/16 Втр 22:43:49  758891
Реально нужна помощь до 24.00,это не от лени думать.

[Назад][Обновить тред][Вверх][Каталог] [Реквест разбана] [Подписаться на тред] [ ] 4 | 1 | 1
Назад Вверх Каталог Обновить

Топ тредов