Файловый ввод-вывод, строгая структура в/в в олимпиадных задачах. Использования модульности для генерации входных данных
— тема по Linux
— необязательная тема
Класс file: read(), write(), readline(), [x]readlines() (+ возможность вызвать xreadlines() несколько раз) и close()
- Структура В/В в олимпиадное задаче: файл ввода и его поля, файл вывода
Файл-модуль, __name__
Классное задание
- Открыть файл по имени в параметре (либо stdin), и прочитать из него M, N, а также MxN целых чисел (это матрица, записанная по строкам). Найти в этой матрице какую-нибудь седловую точку -- ее координаты (1..N, 1..M) и значение.
Входной файл:
2 3 3 6 5 1 5 3
Выходной файл:
1 1 3
Напечатать все седловые точки. Выходной файл (для того же входного):
2 1 1 3 2 2 5
- Написать генератор входных данных.
Домашнее задание
— теоретическое задание
— новая тема
Две книжки (есть тут):
- Брудно А.Л., Каплан Л.И. Московские олимпиады по программированию. – М.: Наука, 1990. – 208 с.
- Московские олимпиады по информатике / Под ред. Е.В. Андреевой, В.М. Гуровица и В.А. Матюхина. – М.: МЦНМО, 2006. – 256 с.
Функция f(n) для целых неотрицательных п определена так:
f(0)=0; f(1)=1; f(2n)=f(n); f(2n+1)=f(n)+f(n+1)
Для данного N найти и напечатать f(N). Обязательное условие: N столь велико, что недопустимо заводить массив из N чисел (равно как и массив, длина которого растет с ростом числа N): fn.py
Поэкспериментировать с PyGame (начать с примеров из документации)
Попробовать порешать задачи в книжках, все трудности записать и задать вопрос после каникул