Первый тур
Бизнес-турист.
    Есть N стран и K видов товара. Бизнес-турист, гражданин
1-й страны, имеет начальный капитал в M денежных единиц и намерен получить на торговых операциях как можно больший капитал. Турист может купить в родной стране любых товаров по своим финансовым возможностям, поехать только в одну из других
стран, продать там все товары, в пределах имеющихся средств
купить любых товаров, вернуться домой и продать их.
    Для каждой страны и каждого вида товара известна стоимость единицы данного товара в данной стране (считается, что
стоимости купли и продажи равны).
    Проезд должен быть оплачен. Для каждой зарубежной страны
известна стоимость проезда из первой страны в нее или обратно.
Расчет за поездку производится непосредственно перед ней.
Все денежные суммы представлены в одних единицах.
    Напишите программу, которая:
- вводит исходные данные из файла и выводит их на экран в виде таблиц
- позволяет человеку в диалоговом режиме задать маршрут поездки и приобретаемые товары и рассчитывает расходы, доходы и текущее состояние финансов
- в ходе диалога проверяет правильность действий человека
- определяет как можно более выгодные поездку и торговые
операции
- определяет, возможно ли вообще и выгодно ли при заданных условиях заниматься бизнес-туризмом.
Технические условия
- Поместите вашу программу-решение в текстовый ASCII-файл по имени "C:OLIMPDAY-1TOUR1-1.xxx". Раcширение .xxx
должно быть: .BAS для программ на Basic, .C для программ на C,
.PAS для программ на Pascal.
- Программа должна прочитать входные данные из текстового ASCII-файла "C:OLIMPDAY-1TEST1-1.TXT". Этот файл имеет
такую структуру:
- в его первой строке содержится количество стран N, во второй - количество товаров K, в третьей - начальный капитал M;
- в следующих N строках содержатся стоимости товаров.
Каждая строка соответствует одной стране и содержит K чисел;
каждые 2 соседних числа разделены пробелом. Эти числа равны
стоимостям соответствующих товаров в этой стране.
- в следующей строке содержатся стоимости проезда. Строка содержит N-1 чисел; каждые 2 соседних числа разделены пробелом. Эти числа равны стоимостям проезда в соответствующие
страны. Стоимость проезда между двумя странами не зависит от
направления поездки.
- Количества стран и видов товара не превосходят 20; денежные суммы - целые числа, не превосходящие 32000 единиц.
- Диалог и выходные данные оформляйте по образцу, приведенному ниже.
Пример
Входные данные:
3 {количество стран}
4 {количество видов товара}
10 {начальный капитал}
1 5 9 20 {стоимости товаров в 1-й стране}
5 9 1 80 {стоимости товаров во 2-й стране}
9 1 5 90 {стоимости товаров в 3-й стране}
1 2 {стоимости проезда из 1-й страны}
Эти данные подготовлены в файле
"C:OLIMPDAY-1EX1-1.TXT". Вы можете использовать его для от-
ладки. Но успешная работа Вашей программы на этом примере не
гарантирует правильности вашей программы!
Оформление диалога и результатов
<запуск программы>
страны - 3, видов товара - 4, начальный капитал - 10
стоимости товара:
| товар |
страна | 1 | 2 | 3 | 4 |
1 | 1 | 5 | 9 | 20 |
2 | 5 | 9 | 1 | 80 |
3 | 9 | 1 | 5 | 90 |
стоимости проезда:
Выберите режим работы:
1 - диалог
2 - оптимизация
3 - выход
<человек выбирает 1>
<ответы человека следуют за вопросительными знаками>
Покупка товара(0-4)? 4 {0 - конец закупки товаров}
Сколько? 1
Не хватает денег
Покупка товара(0-4)? 2
Сколько? 1
Расход: 5, капитал: 5
Покупка товара(0-4)? 1
Сколько? 4
Расход: 4, капитал: 1
Покупка товара(0-4)? 0
Направление поездки(1-3)? 2
Расход: 1, капитал: 0
Товар продается в стране 2
Доход: 29, капитал: 29
Покупка товара(0-4)? 3
Сколько? 28
Расход: 28, капитал: 1
Покупка товара(0-4)? 0
Возврат в страну 1
Расход: 1, капитал: 0
Товар продается в стране 1
Доход: 252, капитал: 252
Будете анализировать другой маршрут(д/н)? д
Покупка товара(0-4)? 1
. . . . . .
Доход: 350, капитал: 350
Будете анализировать другой маршрут(д/н)? н
Выберите режим работы:
1 - диалог
2 - оптимизация
3 - выход
<человек выбирает 2>
<выполняется оптимизация>
Предлагаю маршрут:
Купить товар 1, количество единиц - 9
Поехать в страну 2
Продать товар
Купить товар 3,количество единиц - 44
Вернуться в страну 1
Продать товар
Итоговый капитал: 396
Выберите режим работы:
1 - диалог
2 - оптимизация
3 - выход
<человек выбирает 3>
<конец работы>
Cистема оценки:
- до 3 баллов
- до 10 баллов
- до 10 баллов
- до 70 баллов пропорционально полученной прибыли
- до 7 баллов
Другий тур
Словесна гра
    Задано словник - таблицю з N слiв, кожне з яких складається з K лiтер. Два гравцi по черзi вибирають слова з словника за такими правилами:
- перше слово вибирається довiльно
- кожне наступне слово повинно вiдрiзнятися вiд попереднього рiвно на одну лiтеру. Iншi лiтери, а також порядок
лiтер змiнюватись не можуть
- не можна вибирати слово, яке ранiше вибиралось
будь-ким з гравцiв.
Гравець, який не зможе вибрати наступне слово, програє.
    ЗАВДАННЯ: Напишiть програму, яка:
- грає з людиною, дотримуючись правил (оцiнка - до 15 балiв)
- слiдкує за виконанням правил гри людиною (оцiнка - до 15 балiв)
- визначає, хто з гравцiв (той, хто починає першим або
другим) може забезпечити собi перемогу, та грає за цього гравця (оцiнка - до 35 балiв)
- дає людинi право вибору черги ходу та виграє у людини,
якщо вона помиляється (оцiнка - до 35 балiв).
Технiчнi умови
- Запишiть вашу програму-розв'язок в текстовий ASCII-файл з iм'ям TOUR2-1.xxx. Розширення .xxx має бути: .BAS для
програм на Basic, .C для програм на C, .PAS для програм на
Pascal.
- Програма повинна прочитати вхiднi данi з текстового
ASCII-файлу TEST2-1.TXT. Цей файл має таку структуру: в його
першому рядку мiститься кiлькiсть слiв N, в другому - довжина
слiв K, в наступних N рядках мiстяться слова. Кожне слово записане в окремому рядку малими українськими або росiйськими
лiтерами. Коди українських лiтер: i - 105, є - 243, ї - 245.
- Кiлькiсть слiв не перевищує 20; довжина слiв не перевищує 5.
Приклад вхiдного та вихiдного файлiв
Вхiднi данi:
5 {кiлькiсть слiв}
4 {довжина слiв}
корт
пост
тест
тост
торт
Цi данi приготовано в файлi EX2-1.TXT. Ви можете користу-
ватися ним для налагодження. Але успiшна робота Вашої програми
на цьому прикладi не гарантує правильностi програми!
Гра може проходити таким чином:
хiд 1 гравець 2 гравець
1 корт торт
2 тост пост - 2 гравець перемiг.
|