Олимпиадага даярдык: тез киргизүү-чыгаруу

sys.stdin аркылуу тез окуу, олимпиадада Python тилинин тузактары жана checklist.

Python кыска жазылат, бирок C++ тилинен ондогон эсе жай. Олимпиадаларда жашап кетиши үчүн бир нече ыкманы билүү керек. Биринчиси жана башкысы — тез окуу. Кадимки input() жай; маалымат көп болгондо (жүз миңдеген саптар) чечим окуудан эле улам лимитке батпай калышы мүмкүн. Алмаштыруучусу — sys.stdin.
Python

Тез окуу шаблону. Киргизиңиз: 4, андан кийин 10 20 30 40

Бул жерде эмне маанилүү: • input = sys.stdin.readline — жай input функциясын тез окуу менен алмаштырат (этият болуңуз: readline аягында сап которуу символун калтырат, сандар үчүн бул тоскоол эмес, саптар үчүн .strip() колдонуңуз); • жооптор тизмеге топтолуп, join аркылуу бир print менен чыгарылат — миңдеген өзүнчө print байкаларлык жайыраак иштейт. Алдын ала билүү керек болгон Python тузактары: 1. Терең рекурсия кулайт: демейки лимит болжол менен 1000 чакырык. sys.setrecursionlimit(300000) менен көбөйтүңүз же циклге кайра жазыңыз. 2. Эгер алгоритм туура болуп, бирок убакыт баары бир жетпесе — адегенде өзүңүздөн ашыкча циклди издеңиз, тилди андан кийин гана күнөөлөңүз. 3. Бүтүн сандар ашып кетпейт — Python тилинде бул жөнүндө таптакыр ойлонбосо болот.
Жөнөтөр алдындагы checklist: 1. Четки учурлар: n = 1, бош маалыматтар, терс сандар. 2. // жана % туурабы (/ эмеспи)? 3. Чыгаруунун форматы шарт менен так дал келеби? Курс аяктады — куттуктайбыз! «Окуу» бөлүмүн ачып, «Олимпиадачынын жолун» 1-деңгээлден баштаңыз. Ийгилик!
Доска