I. Disk o'yinlari
Tolya n kompyuter o'yinlariga ega edi va u ularni bitta diskka yoqishga qaror qildi. Shundan so'ng, u marker bilan bu diskdagi barcha o'yinlarining nomlarini birin-ketin soat yo'nalishi bo'yicha aylana shaklida yozishga qaror qildi. Barcha o'yinlarning nomlari har xil edi va har bir ismning uzunligi aniq k edi. Diskdagi yozilgan nomlar bir-biriga mos kelmaydi.
Tolya barcha o'yinlarning nomlarini yozgandan so'ng, diskda n · k uzunlikdagi tsikl chizig'i chiqarildi.
Bir necha yil o'tdi va Tolya o'z diskida qanday o'yinlar yozilganligini allaqachon unutgan edi. Uning eslashicha, o'sha paytda hamma mashhur g o'yinlar bo'lgan va faqat ushbu o'yinlar uning diskida bo'lishi mumkin va har bir g o'yinni bir martadan ko'p bo'lmagan diskka yozib olish mumkin.
Sizning vazifangiz Tolya sizning diskingizga yozishi mumkin bo'lgan har qanday to'g'ri o'yinlarning ro'yxatini tiklashdir.
II. Polikarpning vazifalari
Polikarp Codehorses dasturlash musobaqalarida tajribali ishtirokchidir. Endi u o'zini vazifalar muallifi sifatida sinab ko'rishga qaror qildi.
U yumaloq koordinatorga n vazifalar to'plamini yubordi. Har bir vazifa o'zining sifati bilan tavsiflanadi, i-chi vazifaning sifati ai (ai ijobiy, salbiy yoki nolga teng bo'lishi mumkin). Vazifalar sifat bilan hech qanday bog'liq bo'lmagan taxminiy murakkablik bo'yicha saralanadi. Shunday qilib, eng sodda vazifa 1 raqami, eng qiyini esa n soni.
Ayni paytda koordinatorning kayfiyati q. Ma'lumki, keyingi vazifani o'qib bo'lgach, uning kayfiyati ushbu vazifaning sifatiga o'zgaradi, ya'ni muvofiqlashtiruvchi vazifani b sifati bilan o'qiganidan so'ng, b qiymati uning kayfiyatiga qo'shiladi. Muvofiqlashtiruvchi har doim sodda va murakkabdan boshlab ketma-ket o'qiydi, vazifalarni o'qish tartibini o'zgartirib bo'lmaydi.
Agar biron bir vaqtda muvofiqlashtiruvchining hozirgi kayfiyati salbiy bo'lsa, u darhol o'qishni to'xtatadi va barcha vazifalar to'plamini butunlay rad etadi.
Polikarp koordinatorning kayfiyati doimo salbiy bo'lmasligi uchun minimal miqdordagi vazifalarni tashlamoqchi. Polikarp koordinatorning hozirgi kayfiyatini aniq bilmaganligi sababli, u "koordinatorning hozirgi kayfiyati q = bi" shaklidagi farazlarga ega.
M gipotezalarning har biri uchun to'plamdan olib tashlanishi kerak bo'lgan minimal vazifalarni toping, shunda qolgan vazifalarni o'qishda koordinatorning eng murakkab kayfiyati har doim 0 ga teng yoki undan ko'p bo'ladi.
III. Oleg bilan intervyu
Polikarp Olegdan intervyu oldi va vaqtni tejash va hamma narsani yozib olishga vaqt ajratish uchun daftariga tinish belgilarisiz va bo'sh joy qoldirmasdan yozdi. Natijada, intervyu Lotin alifbosidagi n kichik harflaridan iborat s satridir.
Oleg nutqida "parazit ogo" so'zi, shuningdek bo'g'inning o'ng tomoniga o'tish orqali "ogo" so'zidan olingan barcha so'zlar mavjud. Masalan, ogo, ogogo, ogogogo so'zlari parazitdir, va go, og, ogog, ogogog va oggo so'zlari bo'lmaydi.
Parazit so'zlar maksimal mumkin bo'lgan hajmga ega, masalan, ogogoo nutqida parazit so'z ogo deb hisoblanmaydi, goo esa oddiy intervyu iborasining bir qismidir. Bunday holda, parazit so'z "ogogo" pastki chizig'i.
Bosib chiqarishdan oldin, Polikarp har bir parazit so'zni ketma-ket uchta yulduz bilan almashtirishi kerak. E'tibor bering, parazit so'zining uzunligidan qat'i nazar, u to'liq uchta yulduz bilan almashtirilgan.
Polikarpus bu vazifani tezda bajardi. Siz buni qila olasizmi? Vaqt tugayapti!
VI. Izlash chiroqlari
Teatr sahnasi - n × m o'lchamdagi to'rtburchaklar maydon. Teatr direktori sizga sahnaning rejasini berdi, unga ko'ra aktyorlar unga joylashadilar. Rejada aktyorlar qaysi kameralarda turishi va qaysi holda bo'lmasligi qayd etilgan.
Sahnada o'rnatilgan yorug'lik nuri to'rt yo'nalishda (agar siz sahna rejasini yuqoridan qarasangiz) - chapga, yuqoriga, o'ngga yoki pastga qarab porlaydi. Shunday qilib, yorug'lik yorug'ligi pozitsiyasi deganda u o'rnatilgan xujayraning o'zi, shuningdek, uning qaysi tomonga porlashi tushuniladi.
Sizning vazifangiz - diqqat markazini sahnaga yaxshi holatda qo'yish. Bir vaqtning o'zida ikkita shart bajarilsa, pozitsiya yaxshi deb nomlanadi:
• tegishli kamerada aktyor yo'q;
• diqqat markazida bo'lgan tomonda kamida bitta aktyor bo'lishi kerak.
Sizning vazifangiz - yorug'likni o'rnatish uchun yaxshi pozitsiyalar sonini hisoblash. Agar yorug'lik chiroqining joylashgan joyi yoki u yoritadigan yo'nalishda joylashgan hujayralar bir-biridan farq qilsa, svetoforning ikkita o'rnatish holati boshqacha deb hisoblanadi.
Fokus chap tomonga yo'naltirilgan yaxshi pozitsiyalar sonini toping. Buni har bir satr uchun alohida qilish mumkin. Buning uchun chiziqni chapdan o'ngga skanerlang va flag 1 'duch kelgan bayroqni qo'llab (masalan, f o'zgaruvchisida). Keyin, keyingi qiymatni qayta ishlashda:
• agar u '0' bo'lsa, f ga to'g'ri bo'lsa, javobga bitta qo'shilishi kerak;
• agar u '1' bo'lsa, f: = true.
Xuddi shunday, qolgan uchta yo'nalish uchun pozitsiyalar sonini hisoblashingiz mumkin.
VII. Kinoga boradigan yo'l
Vasya avtoulovlarni ijaraga berish markazida va kinoga imkon qadar tezroq borishni xohlaydi. U allaqachon chipta sotib olgan seans t daqiqadan boshlanadi. Avtoulovni ijaraga berish markazidan kinoteatrgacha s kilometr uzunlikdagi to'g'ridan-to'g'ri yo'l borligini hisobga oling. Biz koordinatalar tizimini joriy qilamiz, shunda avtoulovlarni ijaraga berish markazi 0 nuqtada, kinoteatr esa s nuqtada.
Avtomobillarni ijaraga berish markazidan kinoteatrga boradigan yo'lda k benzin stantsiyalari mavjudligi ma'lum bo'lib, siz cheksiz miqdordagi yoqilg'ini bepul to'ldirishingiz mumkin! Yoqilg'i quyish jarayoni darhol amalga oshirilishini hisobga oling.
Ijara markazida n avtomashinalari mavjud, ularning o'ninchi soni vi va vi ikki raqam bilan tavsiflanadi - avtoulovni ijaraga berish qiymati va uning bak hajmi. Shunday qilib, yoqilg'i quyish stantsiyasida yonilg'i quyish idishining sig'imidan ko'proq mashinaga to'ldirish mumkin emas. Ijara markazida barcha avtoulovlarga dastlab to'liq yoqilg'i quyiladi.
Avtomobillarning har biri ikkita tezlik rejimlaridan birini boshqarishi mumkin: normal va tezlashtirilgan. Oddiy rejimda, mashina 1 daqiqani 2 daqiqada bosib o'tadi, bunda unga 1 litr yoqilg'i sarflanadi. Tezlashtirilgan rejimda mashina 1 daqiqada 1 km yo'l yuradi, shu bilan birga unga 2 litr yoqilg'i sarflanadi. Rejimni istalgan vaqtda o'zgartirish mumkin. Rejimni o'zgartirishga cheksiz ko'p marta ruxsat beriladi.
Sizning vazifangiz eng kam ijara narxiga ega mashinani tanlashdir, unda Vasya sessiya boshlanishidan oldin kinoteatrga, ya'ni t daqiqadan kechikmay, vaqt olishi mumkin. Ijara markazida barcha avtoulovlarga dastlab to'liq yoqilg'i quyilganligini hisobga oling.
VIII. Dengiz jangi
Galya 1 × n maydonda bir o'lchovli dengiz jangida o'ynaydi. Ushbu o'yinda hujayra maydonida har biri b ketma-ket b hujayralaridan tashkil topgan kemalar mavjud. Shu bilan birga, bitta hujayra bir nechta kema tarkibiga kira olmaydi, ammo kemalar aloqada bo'lishi mumkin.
Geyl kemalarning holatini bilmaydi. Galya kameralarni o'qqa tutishi mumkin va har bir zarbadan keyin unga bu hujayraning biron bir kemaning bir qismi bo'lganligi to'g'risida xabar beriladi (bu holda Galya "urdi" deb ishoniladi) yoki yo'q (keyin Galya "o'tkazib yuborilgan").
Galya allaqachon k zarbalarini amalga oshirgan va ularning barchasini sog'indilar.
Sizning vazifangiz - Galya kamida bitta kemaga tushib ketishi kafolatlangan holda, eng kam pozitsiyani aniqlash.
Ta'riflangan shartlarni qondiradigan kamida bitta kema tartibi mavjudligi kafolatlanadi.
IX. Subordinatlar
Katta kompaniyada n ishchilari bor, ularning har biri 1 dan ngacha bo'lgan noyob raqamga ega. Shulardan aynan bitta xodim asosiysi, uning raqamlari s. Shuningdek, asosiy xodimlardan tashqari barcha xodimlarning aniq bir bevosita ustunligi borligi ma'lum.
Har bir xodimga uning qancha xo'jayini (nafaqat to'g'ridan-to'g'ri) borligi to'g'risida ma'lumot berish topshirildi. Xodimning rahbarlari deganda uning bevosita rahbari, shuningdek, ushbu xodimning bevosita rahbarining bevosita rahbari va boshqalar tushuniladi. Masalan, agar kompaniyada uchta xodim bo'lsa, ularning birinchisi asosiy, ikkinchi xodimda bevosita rahbar - birinchi ishchi, uchinchi xodimda esa bevosita rahbar - ikkinchi ishchi bo'lsa, uchinchi xodimda faqat ikkita rahbar bor - bitta to'g'ridan-to'g'ri va bittasi to'g'ridan-to'g'ri. Bosh xodim - bu o'zidan tashqari barcha xodimlarning xo'jayini.
Ba'zi xodimlar shoshilib, sanashda xato qilishdi va noto'g'ri ma'lumot berishdi. Sizning vazifangiz ma'lumot yuborishda xatoga yo'l qo'yishi mumkin bo'lgan xodimlarning minimal sonini aniqlashdir.
X. Moliyachilarning o'yini
Kechqurun moliyachilar Igor va Zhenya zerikishdi va ular o'yinni o'ynashga qaror qilishdi. Buning uchun ular n davriy davr uchun korxonaning daromadi to'g'risidagi ma'lumotlarni o'z ichiga olgan n qimmatli qog'ozlarni tayyorladilar. E'tibor bering, daromad ijobiy va nol va hatto salbiy bo'lishi mumkin.
Igor va Zhenya barcha varaqalarni ketma-ket qo'yib, navbatga qo'yishga qaror qilishdi. Igor chapdan, o'ngdan esa Zhenya qog'oz oladi. Igor birinchi bo'lib chap tomonda o'zi xohlagan 1 yoki 2 ta qimmatli qog'ozni oladi. Bundan tashqari, keyingi harakat paytida o'yinchi yonidan k yoki k + 1 qog'ozni olishi mumkin, agar uning oldida yurgan o'yinchi k qog'ozlarni olib qo'ygan bo'lsa. Hech bir o'yinchi harakatni o'tkazib yuborolmaydi. O'yin qog'oz stolda ishlamay qolganda yoki o'yinchi harakat qila olmaganda tugaydi.
Sizning vazifangiz Igor o'zi uchun olgan qimmatli qog'ozlar daromadlari va Zhenya o'zi uchun olgan qimmatli qog'ozlarning daromadlari o'rtasidagi farqni aniqlashdir, agar ikkala o'yinchi ham yaxshi o'ynashsa. Igor farqni maksimal darajada oshirishni istaydi, Zhenya esa uni kamaytirmoqchi.
XI. Tanya 5 yoshda!
Tanya 5 yoshda edi va uning barcha do'stlari tug'ilgan kunini nishonlash uchun yig'ilishdi. Hammasi bo'lib, shu qatorda Tanya bilan birga bolalar ham festivalda qatnashadilar.
Bayram yakunlanmoqda, lekin nihoyat o'yin avtomatlari rejalashtirilgan. Tantanalar bo'lib o'tadigan zalda 1 dan 1 gacha bo'lgan raqamlarni o'ynaydigan mashinalar mavjud. Bolalarning har biri u o'ynashni istagan o'yin mashinalarining ro'yxatini tuzib bo'lgan. Bundan tashqari, agar bola biron bir o'yin mashinasini o'ynashni xohlasa, unda u uni o'ynashga qancha vaqt sarflash kerakligini aniq biladi. Har qanday mashinada bir vaqtning o'zida faqat bitta bola o'ynashi mumkin.
Bayram allaqachon boshlanib ketganligi sababli, barcha kattalar mehmonlar allaqachon uylariga borishni xohlashadi. Jarayonni tezlashtirish uchun siz qo'shimcha ravishda ikkinchi nusxadagi mashinalarga buyurtma berishingiz mumkin, j mashinasining ikkinchi nusxasini ijaraga olish uchun siz ko'proq pul to'laysiz. Mashinani ijaraga olib, uni ta'til oxirigacha ishlatish mumkin.
Agar sizda qo'shimcha mashinalarni ijaraga olish uchun byudjetingiz bo'lsa, hamma bolalar xohlagancha o'ynashlari mumkin. Har bir mashina uchun faqat bitta zaxira mavjud, shuning uchun siz mashinaning uchinchi nusxasini ijaraga olmaysiz.
Tasodifiy o'ynashda bolalar to'sqinlik qilishi mumkin. Agar ith bola jth mashinasida o'ynashni xohlasa, boshqa j-ni ijaraga olgandan so'ng, u jth mashinasining asosiy instantsiyasida va bir qismining qo'shimcha qismida o'ynashi joizdir (bundan tashqari, bu qismlarning har biri bo'shashishi mumkin). ) Avtomatiklarni almashtirish birdaniga o'z vaqtida butun sonlarda sodir bo'lishi mumkin. Albatta, bola bir vaqtning o'zida ikkita mashinada o'ynay olmaydi.
Unutmangki, tejash uchun maqsad yo'q (ular bolalarni tejashmaydi!), Siz bolalarning oxirgisi o'yinining tugash vaqtini minimallashtirishingiz kerak.
XII. Nopok idishlar
Keyingi ta'tildan keyin Nikita oshxonada iflos plitalar to'plamini hosil qildi. Ularni yuvish va quritgichga qo'yish kerak, quritgichda plitalar ham yopishtirilishi kerak va plitalarning o'lchamlari yuqoridan pastgacha o'sishi kerak. Plitalarning barcha o'lchamlari boshqacha.
Nikitada juda ko'p bo'sh joy yo'q, aniqrog'i, yana bitta plitani yig'ish uchun joy bor. Shuning uchun u faqat ikkita operatsiyani bajarishi mumkin:
Nopok idishlar bilan stakandan tepadan 1 gacha bo'lgan har qanday raqamni oling, yuving va ularni shu tartibda oraliq qoziq ustiga qo'ying.
Oraliq plitadan ustki plitalarning 1 dan b gacha bo'lgan har qanday raqamni oling va ularni xuddi shu tartibda quritgichdagi ustunning tepasiga joylashtiring.
Shuni yodda tutingki, biron bir operatsiyani bajarayotganda plitalar stekka operatsiyadan oldingi tartibda joylashtiriladi.
Siz s1, s2, ..., sn idishlarning o'lchamlarini bilasiz, ular axlat ichida yuqoridan pastgacha iflos idishlar bilan, shuningdek a va b raqamlari bilan. Plitalarning barcha o'lchamlari boshqacha. Agar aniqlasa dastur yozing.
XIII. Google-dagi intervyular bilan klassik jumboq. Raqamlar doskada yozilgan, siz savolga javob berishingiz kerak: keyingi raqam qaysi raqamga o'tadi
XIV. Ikkinchi qo'lingiz bilan analog soatingiz bor. Uch soatlik qo'llar kuniga necha marta bir-biriga zid keladi?
XV. Siz cho'l orolida futbol o'ynaysiz va qaysi jamoa to'pni olishiga qaror qilish uchun tanga tashlamoqchisiz. Sizda mavjud bo'lgan yagona tanga bukilgan va shuning uchun otish paytida aniq buzilishlarni keltirib chiqaradi. Qanday qilib bunday tangadan adolatli qaror chiqarish uchun foydalanishingiz mumkin?
XVI. Burilish: A dan B gacha
Vasilida b raqamiga aylantirmoqchi bo'lgan bir qator bor. Buning uchun u ikkita operatsiyani bajarishi mumkin:
• undagi sonni 2 ga ko'paytiring (ya'ni x sonini 2 x raqamiga almashtiring);
• mavjud bo'lgan raqamga o'ngdagi 1 raqamini tayinlang (ya'ni x sonini 10 x x + 1 raqami bilan almashtiring).
Siz Vasiliga b raqamini yuqorida tavsiflangan operatsiyalardan foydalanishda yordam berishingiz yoki bu mumkin emasligi haqida xabar berishingiz kerak.
Shuni esda tutingki, ushbu vazifa operatsiyalar sonini minimallashtirishni talab qilmaydi. B sonini a dan olishning har qanday usulini topish kifoya.
XVII. Miqdorini tekshiring
Vasiliy do'kondan chiqib ketdi va unga chekni sanab chiqish qiziq bo'ldi. Chek - bu satrlarning nomi va ularning narxi bo'sh joysiz ketma-ket qayd etiladigan chiziq. Tekshirish "name1price1name2price2 ... namenpricen" shakliga ega, unda namei (i-chi mahsulot nomi) uzunligi 10 dan oshmaydigan bo'sh satr, kichik lotin harflaridan iborat, va pricei (i-mahsulotning narxi) - bo'sh bo'lmagan satr. nuqta va raqamlar. Xuddi shu nomdagi mahsulotlar turli xil narxlarga ega bo'lishi mumkin.
Har bir mahsulotning narxi quyidagi formatda yoziladi. Agar mahsulot butun rublga tushsa, unda pensiyalar yozilmaydi.
Aks holda, rubl sonini yozgandan so'ng, narxga bir nuqta belgilanadi va undan keyin pensiyalarning ikki raqami beriladi (agar pensiyalar 10 dan kam bo'lsa, unda etakchi nol ishlatiladi).
Shuningdek, rekorddagi har uch raqam (ahamiyatsizdan ahamiyatliroqgacha) rubl bilan nuqta bilan ajratilgan. Qo'shimcha etakchi nollarga ruxsat berilmaydi, narxlarni yozib olish har doim raqamdan boshlanadi va raqam bilan tugaydi.
Masalan, narx yozuvlari:
"234", "1.544", "149.431.10", "0.99" va "123.05" to'g'ri,
".333", "3.33.11", "12.00", ".33", "0.1234" va "1.2" noto'g'ri.
Chek mazmuni bo'yicha barcha xaridlarning umumiy narxini topadigan dastur yozing.
XVIII. Futbolkalarni tarqatish
Dasturlash musobaqasida esdalik sifatida, futbolkalarni berishga qaror qilindi. Hammasi bo'lib, futbolkalar olti o'lchamda bosilgan: S, M, L, XL, XXL, XXXL (o'lchamlar ko'tarilish tartibida berilgan). S dan XXXLgacha bo'lgan har bir o'lcham uchun siz ushbu o'lchamdagi futbolkalar sonini bilasiz.
Ro'yxatdan o'tish paytida tashkilotchilar har bir n qatnashuvchidan futbolkaning o'lchamini ko'rsatishni so'rashdi. Agar ishtirokchi ikki o'lchamda ikkilansa, u ikkita qo'shni raqamni ko'rsatishi mumkin - bu ikkita o'lchamdagi futbolka unga mos kelishini anglatadi.
Bosmaxonada bosilgan futbolkalardan tanlovning har bir ishtirokchisiga sovg'a qilish mumkinmi yoki yo'qligini aniqlaydigan dastur yozing. Albatta, har bir ishtirokchi o'z o'lchamidagi ko'ylakni olishi kerak:
• bitta o'lcham ko'rsatilgan bo'lsa, kerakli o'lcham;
Ikkita o'lchamdagi har qanday, agar ikkita ulashgan o'lchov ko'rsatilgan bo'lsa.
Agar javob ha bo'lsa, dastur futbolkalarni tarqatish uchun har qanday variantni topishi kerak.
Do'stlaringiz bilan baham: |