Authors

  • T.A. Kuchkorov
  • I.A. Ahmadjonov
  • S.N. Nigmatov

DOI:

https://doi.org/10.71337/inlibrary.uz.science-research.35169

Abstract

Ushbu maqolaning maqsadi sizga dasturlash olimpiadasini tanishtirish va bu olimpiadalarda kerakli mavzularni tanishtirish dan iborat. Bu maqolani o’qishdan avval siz matematika bilan xabardor bo’lishingiz va algoritmlash asoslaridan xabardor bo’lishingiz zarur. Maqola, ayniqsa, algoritmlarni o'rganishni xohlovchi maktab, litsey o’quvchilari, shuningdek, Oliy o’quv yurti talabalari uchun mo’ljallangan. Albatta, maqola raqobatli dasturlashga qiziqqan har bir kishi mo’ljallangan.

background image

ISSN:

2181-3906

2024

International scientific journal

«MODERN SCIENCE АND RESEARCH»

VOLUME 3 / ISSUE 6 / UIF:8.2 / MODERNSCIENCE.UZ

1207

XALQARO DASTURLASH OLIMPIADALARIDAGI MASALALAR TURLARINING

TAHLILI VA ULARNI YECHISHNING TEZKOR USULLARI

Kuchkorov T.A.

Ahmadjonov I.A.

Nigmatov S.N.

Muhammad al-Xorazmiy nomidagi Toshkent axborot texnologiyalari universiteti

Kompyuter injiniringi fakulteti.

https://doi.org/10.5281/zenodo.12598472

Annotatsiya.

Ushbu maqolaning maqsadi sizga dasturlash olimpiadasini tanishtirish va

bu olimpiadalarda kerakli mavzularni tanishtirish dan iborat. Bu maqolani o’qishdan avval siz
matematika bilan xabardor bo’lishingiz va algoritmlash asoslaridan xabardor bo’lishingiz zarur.

Maqola, ayniqsa, algoritmlarni o'rganishni xohlovchi maktab, litsey o’quvchilari,

shuningdek, Oliy o’quv yurti talabalari uchun mo’ljallangan. Albatta, maqola raqobatli
dasturlashga qiziqqan har bir kishi mo’ljallangan.

Kalit so‘zlar

: dasturlash, axborot, ma’lumotli dasturlash, Java, SQL.

ANALYSIS OF THE TYPES OF PROBLEMS AT THE INTERNATIONAL

PROGRAMMING OLYMPIAD AND QUICK METHODS OF SOLUTION

Abstract.

The purpose of this article is to introduce you to the programming olympiad and

introduce the necessary topics in this olympiad. Before reading this article, you need to be familiar
with mathematics and know the basics of algorithms. The article is intended especially for school
and high school students, as well as university students who want to learn algorithms. Of course,
the article is intended for anyone interested in competitive programming.

Keywords:

programming, information, informative programming, Java, SQL.

АНАЛИЗ ТИПОВ ЗАДАЧ НА МЕЖДУНАРОДНОЙ ОЛИМПИАДЕ ПО

ПРОГРАММИРОВАНИЮ И БЫСТРЫЕ МЕТОДЫ РЕШЕНИЯ

Аннотация.

Цель данной статьи – познакомить вас с олимпиадами по

программированию и представить необходимые темы на этих олимпиадах. Прежде чем
читать эту статью, вам необходимо быть знакомым с математикой и знать основы
алгоритмов. Статья предназначена специально для школьников и старшеклассников, а
также студентов вузов, желающих изучить алгоритмы. Разумеется, статья
предназначена для всех, кто интересуется соревновательным программированием.

Ключевые

слова:

программирование,

информация,

информативное

программирование, Java, SQL.

Kirish.

Raqobatli dasturlash - bu aqliy raqobatli bo'lib, unda odamlar samarali yondashuv

va ma’lum bir vaqt davomiyligi bilan ba'zi dasturiy savollarni hal qilish uchun bir-birlari bilan
raqobatlashadilar. Qaysi mamlakat dasturlashning qaysi sohalari bo’yicha yetakchiligini bilish
maqsadida HackerRank 15 xil sohalar, jumladan, matematika, ma’lumotlar bazalari, maʼlumotlar
strukturasi, Java va boshqalarni sinovdan oʻtkazuvchi global miqyosda ishlab chiquvchilar uchun
tanlov eʼlon qildi.

Tadqiqotning asosiy jihatlaridan biri shundaki, mamlakatlar test sohasiga qarab turli

natijalarga erishgan. Ushbu topilma, ayniqsa, ixtisoslashgan ishlab chiquvchilarni izlashda juda


background image

ISSN:

2181-3906

2024

International scientific journal

«MODERN SCIENCE АND RESEARCH»

VOLUME 3 / ISSUE 6 / UIF:8.2 / MODERNSCIENCE.UZ

1208

muhim, chunki mamlakat dasturlashda yaxshiroq bo'lishi mumkin, ammo boshqa mamlakat siz
kutayotgan sohada yaxshi natijalarga erishishi mumkin.

Misol uchun, Rossiya Algoritmlar bo'yicha birinchi o'rinda turadi, Ruby bo'yicha birinchi

beshlikka ko’rganimizda, u hatto bu ro'yxatga kirmaydi. Polsha Java-da birinchi o'rinni egalladi,
ammo SQL-da u hatto eng yaxshi beshlikka ham kirmaydi.

Umumiy hisobda Xitoy va Rossiya eng iste'dodli dasturchilar bilan birinchi o'rinni egallab

turibdi. Xitoylik dasturchilar quyidagi yo’nalishlarda eng yaxshi natijalarni qayd etishdi:

Matematika

Funksional dasturlash

Ma'lumotlar tuzilishi

Raqobatli dasturlashning maqsadi berilgan ma'lum vaqt oralig'ida muammoni hal qilish

uchun dasturiy yechim topishdir. Dasturlash musobaqalarida Sonlar nazariyasi, Graflar nazariyasi,
Kombinatorika, Oʻyinlar, Geometriya va shu kabi katta mavzularga asoslangan matematik va
mantiqiy masalalar mavjud. Raqobatli dasturlash analitik fikrlash, mantiqiy fikrlash va kodlash
mahoratingizni oshirishning eng yaxshi usuli hisoblanadi. Endi u Google va Facebook kabi katta
IT gigantlari tomonidan ko'rib chiqilmoqda. Dunyoda bu aql sporti bo’yicha hamma va maktab
o’quvchilari uchun ko’plab musobaqalar tashkil qilinyapti.

Maktab o’quvchilari uchun quyidagi musobaqalar o’tkazib kelinmoqda:

USACO

(bu

musobaqa AQSH da tashkil qilinadi) - bu sizning kompyuter dasturlash ko'nikmalaringizni shubha
ostiga qo'yadigan va rivojlantiradigan juda hurmatli tanlovdir. Kirish uchun siz avval USACO
veb-saytida ro'yxatdan o'tishingiz va Bronzadan Platinumgacha bo'lgan darajangizga mos
keladigan bo'limni tanlashingiz kerak.

Microsoft Imagine Cup Junior -

13 yoshdan 18 yoshgacha

bo'lgan yoshlarga mo'ljallangan ushbu tanlov ishtirokchilarni global ijtimoiy muammolarni hal
qiluvchi innovatsion g’oyalarni ishlab chiqish uchun texnologiyani o'rganish va integratsiyalashga
undaydi. Maqsad - yoshlarga texnologik va ijodiy fikrlash qobiliyatlarini yechimlarni ishlab
chiqish va ishlab chiqish uchun ishlatishga imkon berishdir.

Topcoder Events -

Bu tanloi o'rta

maktab o'quvchilari o'rtasida raqobatli dasturlashni targ'ib qiluvchi global platformadir. Tanlov,
birinchi navbatda, turli dasturlash tillaridan foydalangan holda muammolarni hal qilish
ko'nikmalariga qaratilgan.

IzHO

- Atoqli qozoq matematigi va akademigi Jautikov Orymbek

Axmetbekovich nomi bilan atalgan Xalqaro Jautikov olimpiadasi Qozog‘istonda o‘tkazilayotgan
eng nufuzli ta’lim tadbirlaridan biri bo‘lib, 20 yildan buyon davom etadi. Bu musobaqa nafaqat
sport dasturlash, balki fizika va matematika fanlari bo’yicha o’tkazib kelinadi.

IOI

- beshta xalqaro fan olimpiadalaridan biridir. IOI ning asosiy maqsadi informatika

(aniq fanlari) va axborot texnologiyalariga qiziqishni rag'batlantirishdir.

Yana bir muhim maqsad – turli mamlakatlardan iqtidorli o‘quvchilarni bir joyga to‘plash

va ularning ilmiy va madaniy tajribalarini o‘rtoqlashishdir.

Endi umumiy hamma qatnasha oladigan raqobatli dasturlash musobaqalariga qaraylik.

The

ACM-ICPC International Collegiate Programming Contest –

bu musobaqa o'z tarixini 1970

yilda Texas A&M da bo'lib o'tgan tanlovga bag'ishlaydi. Unga UPE Kompyuter fanlari sharafi
jamiyatining Alpha bo'limi mezbonlik qildi. Tanlov yangi dasturiy ta'minot dasturlarini yaratishda
ijodkorlik, jamoaviy ish va innovatsiyalarni rivojlantiradi va talabalarga bosim ostida ishlash
qobiliyatini sinab ko'rish imkonini beradi.

Google's Coding Competitions –

bu

har yili Google


background image

ISSN:

2181-3906

2024

International scientific journal

«MODERN SCIENCE АND RESEARCH»

VOLUME 3 / ISSUE 6 / UIF:8.2 / MODERNSCIENCE.UZ

1209

kompaniyasi tomonidan o’tkaziladigan dasturlash musobaqasi boʻlib, unda ishtirokchilardan
cheklangan vaqt ichida murakkab algoritmik muammolarni hal qilish soʻraladi.

Dasturchilar o'zlari tanlagan dasturlash tilidan foydalanishlari mumkin. Ushbu tanlov

onlayn tarzda boshlanadi va dasturchilar o'tgan yillardagi muammolarni sinab ko'rish orqali mashq
qilishlari mumkin

. Meta Hacker cup

- Meta kompaniyasining har yili o’tkziladigan ochiq

dasturlash musobaqasi. Butun dunyo boʻylab ishtirokchilar uchun ochiq, biz sizni har yili onlayn
bosqichlardan oʻtish, sovrinlarni qoʻlga kiritish va global finalga chiqish va bosh sovrinni qoʻlga
kiritish imkoniyatiga ega boʻlish uchun muammolarni hal qilish va algoritmik kodlash
koʻnikmalarini qoʻllashga taklif qilamiz. Biz ko’rgan eng mashhur raqobatli dasturlash
musobaqalari shulardan iborat edi.

Raqobatli dasturlash bilan shug’ullanishning bir nechta

sabablari bor. Hozir shulardan ayrimlarini jumladan,

tezkor fikrlash,

raqobatbardoshlik

,

ish

faoliyati istiqbolligi

kabilarni keltirib o’tamiz.

Tezkor fikrlash.

Raqobatli dasturlashda asosiy vazifalardan biri bu ma'lum vaqt

chegarasida muammolarni hal qilishdir. Raqobatli dasturlash bilan mashq qilish orqali siz tez va
berilgan vaqt oralig'ida fikrlashni boshlaysiz va bu sizning aqliy tezligingizni yaxshilaydi va
fikrlash qobiliyatingizni oshirishga yordam beradi. Raqobatli dasturlash - bu muammoni samarali
tarzda va eng kam vaqt ichida hal qilishdir. Shunday qilib, bu sizga tezda yechimlar haqida o'ylash
va tezkor fikrlashni yaxshilash odatini o’rgatadi, kuchaytiradi. Bu kod sifatini yaxshilaydi va
samarali kod yozishga yordam beradi. Shuningdek, u Ma'lumotlar tuzilmalari va algoritmlarini
chuqur tushunishni rivojlantiradi. Raqobatli dasturlash muhiti muammoning samarali va minimal
darajada murakkab algoritmini olish uchun sizdan analitik va mantiqiy fikrlashni talab qiladi va
buni amalda qo'llash orqali biz mantiqiy va analitik fikrlashni yaxshilashimiz mumkin.

Raqobatbardoshlik

. Raqobatli dasturlash raqobatdan zavqlanadiganlar uchun qiziqarli

bo'lishi mumkin. Bu musobaqalarda qatnashishni yaxshi ko'radiganlar uchun ajoyib tajriba bo'lishi
mumkin. Murakkab muammolarni o'z vaqtida hal qilish ishonch va muvaffaqiyat hissini oshiradi.

Shuningdek, u diqqatni jamlashni va diqqatni jamlashni kuchaytiradi. Raqobatli

dasturlashda biz odatda "

qiyin

" darajadagi muammolarga duch kelamiz va raqobat ruhi

muammoni yechish uchun harakatdan to’xtatmaslikka undaydi. Raqobatli musobaqalarida odatda
10 mingdan ortiq ishtirokchi bo'ladi (xoh u: Codeforces, CodeChef yoki boshqa platformalar) va
juda ko'p sonli ishtirokchilar sizga o'rtasida raqobatlashish yaxshiroq qatnashish uchun
motivatsiya beradi. Bu bosim ostida yaxshi ishlashingizga yordam beradi va mahoratingizni
oshiradi. Bu muammoni hal qilish qobiliyatini yaxshilaydi.

Ish faoliyati istiqbolligi

. Dasturiy ta'minot muhandisligi bilan bog'liq ishlar uchun texnik

intervyular haqida gap ketganda, raqobatli dasturlash juda muhimdir. Ko'pgina texnologiya
gigantlari ishga yo’llash vositasi sifatida raqobatbardosh dasturlash tanlovlaridan foydalanadilar.

Google, ServiceNow, Atlassian va boshqalar kabi kompaniyalar raqobatbardosh dasturlash

muammolari asosida texnik intervyular o'tkazadilar. Raqobatli dasturlash profiliga ega bo'lgan
odamlar mantiqiy va analitik jihatdan ilg'or hisoblanishadi va shuning uchun bu sizga yaxshi ish
topishga yordam beradi. Kompaniyalar nomzodlarning mantiqiy va analitik fikrlashlarini sinab
ko'rish uchun tanlov mezoni sifatida raqobatbardosh dasturlardan foydalanadilar. Yaxshi raqobatli
dasturlash profili kuchli rezyumeni yaratishga va rezyumeni qisqa ro'yxatga olish imkoniyatlarini
oshirishga yordam beradi. Bu sizning muammoni hal qilish va texnik ko'nikmalaringizni bevosita


background image

ISSN:

2181-3906

2024

International scientific journal

«MODERN SCIENCE АND RESEARCH»

VOLUME 3 / ISSUE 6 / UIF:8.2 / MODERNSCIENCE.UZ

1210

namoyish etadi. Tanlovlarda qatnashish sizga texnik intervyularda berilishi mumkin bo'lgan
savollar haqida tushuncha beradi

3

.

Raqobatli dasturlashni boshlovchilar uchun muhim mavzular.

Raqobatli dasturlashni yangi boshlovchilar ko'pincha qayerdan boshlashni bilmaslik

muammosiga duch kelishadi. Algoritmlar va tushunchalarning bu ulkan dunyosida yaxshiroq
tushunish uchun asosiy tushunchalardan boshlash kerak. Yangi boshlanuvchilar uchun muhim
bo'lgan eng yaxshi 5 ta mavzu quyidagilar:

Ma’lumotlar tuzilmalari.

Kompyuter biz diskda saqlaydigan millionlab ma'lumotlarni

qanday qilib osonlikcha olishi haqida hech o'ylab ko'rganmisiz? Ma'lumotlar tuzilmalari bunga
javobdir. Ma'lumotlar tuzilmalari kelajakda foydalanish uchun ma'lumotlarni samarali tashkil etish
usulidir. Birinchi navbatda ikkita ma'lumot turi mavjud-sodda va murakkab. Sodda ma'lumotlar
turlariga int, char, double va float kiradi. Ishni boshlashdan oldin, ulardan foydalanish uchun har
birini tushunish va farqlash juda muhimdir. Mavhum ma'lumotlar turi asosan turli xil
operatsiyalarni bajarish mumkin bo'lgan ma'lumotlar to'plamidir. Massivlar, stacklar, navbatlar va
ro'yxatlar ushbu toifaga kiradi. Bularning barchasi har biri uchun bir nechta operatsiyalar
aniqlangan chiziqli ma'lumotlar tuzilmalari. Massiv ma'lumotlar tuzilmasida bir xil turdagi
elementlar to'plami birgalikda saqlanadi. Ma'lumotlar tuzilmalaridan foydalanib, dasturning
samaradorligi va algoritmni keskin yaxshilash mumkin. Shuning uchun MTA tushunchalarni
yaxshilab tushunib olishimiz kerak.

Funksiyalar va sikllar.

Hech birimiz yuzlab kod satrlarini o'qishga qiziqmaymiz,

to'g'rimi? Muayyan shart qondirilgunga qadar bir xil kodni bir necha marta yozishni tasavvur
qiling – bu juda zerikarli vazifa bo’lardi . Bu yerda funksiyalar va sikllardan foydalaniladi.

Funksiya - bu ma'lum bir vazifani bajaradigan kod bloki. Funksiyaning asosiy afzalligi -

undan qayta va qayta foydalanish. Funksiya aniqlangandan so'ng, uni bir necha marta chaqirish va
ishlatish mumkin. Ko'pgina dasturlash tillarida o'rnatilgan funksiya modullari mavjud. Sikllar
dasturchilarga o'z kodlarini qisqa va aniq yozishlariga yordam beradi. Ko'pchiligimiz kod yozish
paytida 'for', 'while' kalit so’zlaridan foydalanganmiz. Shunday qilib, sikllar yordamida
dasturchilar kodni ishga tushirishlari va kerak bo'lganda uni ko'p marta takrorlashlari mumkin.

Vaqt va Xotira murakkabligi.

Kodingizni bajarilish vaqti uchun bir necha soniya vaqt

ketishi mumkin bo'lsa ham, kod imkon qadar tezroq ishlashi kerak. Buning uchun kodimizning
vaqtn murakkabligini tushunish muhimdir. Raqobatli dasturlashda muammolar yechish
jarayonida, vaqt murakkabligini kerakli chegarada ushlab turgan holda yechim topish kerak.

Xotira murakkabligi sizning kodingiz tomonidan band qilingan xotira hajmini aniqlaydi.
Kodning bajarilishi muammo sharti chegaralarida bo'lishi kerak. Buning eng yaxshi tomoni

shundaki, hisoblash uchun kompilyator kerak emas. Sizga faqat kodingizning vaqt va xotira
murakkabligini hisoblash uchun qalam va qog'oz kerak.

Qidirish va saralash.

Amazon va Flipkart kabi elektron tijorat veb-saytlarida narxlarni

pastdan yuqoriga qarab saralaganmisiz? Keling, bu yerda qanday ishlashini ko'rib chiqaylik. Siz
taqdim etgan ma'lumotlar har doim ham tartibda bo'lmasligi mumkin. Bunday sharoitda saralash
va qidirish jarayonlaridan foydalanish mumkin. Chiziqli qidiruv yoki ikkilik qidiruv kabi turli xil
qidiruv algoritmlaridan foydalanib, ro'yxatdagi ma'lum bir elementni topishingiz mumkin.


background image

ISSN:

2181-3906

2024

International scientific journal

«MODERN SCIENCE АND RESEARCH»

VOLUME 3 / ISSUE 6 / UIF:8.2 / MODERNSCIENCE.UZ

1211

Saralash algoritmi ro'yxatni ma'lum bir tartibda saralaydi va ro'yxatdagi elementni topishni

osonlashtiradi. Ushbu algoritmlar bizga yuqorida aytib o'tilgan elektron tijorat veb-saytlari kabi
hayotiy vaziyatlarda yordam beradi. Shunday qilib, ular real dasturlarda ham, raqobatli
dasturlashda ham muhimdir.

Sonlar Nazariyasi.

Raqobatli dasturlashdagi muammolar ko'pincha matematikani o'z

ichiga oladi. Shunday qilib, raqobatli dasturchi raqamlar nazariyasi asoslarini ham bilishi kerak.

Fermaning kichik teoremasi yordamida hisoblash, Eratosfen g’alviri va Eyler funksiyasi

sonlar nazariyasining asosiy mavzularidan biridir. Bularni yaxshi tushunish sizga murakkab
muammolarni ham tushunishga yordam beradi

4

.

Raqobatli dasturlashdagi muhim mavzularga oid masalalar va ularning yechimi.

Raqobatli dasturlashning yuqoridagi muhim mavzularini o’rganib olganingizdan so’ng, siz

turli muhim mavzularni o’rganib, ularga doir turli qiyinchilikdagi masalalarni ishlab borishingiz
kerak. Aks holda, turli mavzularni bilmaslik sizga dasturlash olimpiadalarda pand berishi mumkin.

Hozir biz quyida raqobatli dasturlashdagi muhim mavzularni ko’rib chiqamiz: Arrays,

Sorting and Searching, Greedy Algorithms, Two Pointers, Number Theory, Dynamic
Programming, Graph Algorithms.

Massivlar (Arrays) mavzusi uchun masala namunasi.

n ta elementdan iborat a massiv

berilgan, shu massiv ichidagi maksimal yig’indiga ega bo’lgan qism massivning yig’indisini
toping

5

.

Kirish

Chiqish

8

-1 2 4 -3 5 2 -5 2

10

1 – yechim

(O(

𝑛

3

) vaqt murakkabligidagi yechim)

Masalani yechishning eng sodda usuli mumkin bo’lgan barcha qism massivlarning

yig’indilarini ko’rib chiqib, ularning ichidan eng kattasini javob sifatida olish. G’oya
implementatsiyasi (C++ dasturlash tili da):

int best = 0;
for (int a = 0; a < n; a++) {
for (int b = a; b < n; b++) {
int sum = 0;
for (int k = a; k <= b; k++) {
sum += array[k];
}
best = max(best, sum);
}
}
cout << best;

2 – yechim

(O(

𝑛

2

) vaqt murakkabligidagi yechim)


background image

ISSN:

2181-3906

2024

International scientific journal

«MODERN SCIENCE АND RESEARCH»

VOLUME 3 / ISSUE 6 / UIF:8.2 / MODERNSCIENCE.UZ

1212

Bu usulda 0, 1, 2, .. n – 1 o’rinlar bilan boshlanuvchi qism massivlarni kengaytirib boramiz:

ya’ni har bir qism massiv oxiriga qo’shib borganimiz sari yig’indini ham hisoblab, maksimal
yig’indini hisoblab ketamiz:

int best = 0;
for (int a = 0; a < n; a++) {
int sum = 0;
for (int b = a; b < n; b++) {
sum += array[b];
best = max(best, sum);
}
}
cout << best;

3 – yechim

(O(n) vaqt murakkabligidagi yechim

Kadane algoritmi

)

G’oya shundayki, har bir indeksda qism massivning maksimal yig’indisi shu indeksda

turibdi deb tasavvur qilamiz. Shundan so’ng, biz yig’indilarning eng kattasini topsak kifoya.
Muammoni hal qilishdan avval biz boshqa bir qism muammoni yechimini topib olishimiz kerak:

Massivning k – o’rnida tugaydigan qism massivning maksimal yig’indisini toping. Bu

masalaning 2 xil holatlari bor:

1)

Qism massiv faqatgina k – o’rindagi elementdan iborat

2)

Qism massiv (k–1) – o’rinda tugaydigan maksimal yig’indiga ega qism massiv bilan k
– o’rindagi elementdan tashkil topgan.

Ikkinchi holatda, maksimal yig’indini topmoqchi bo’lganimiz uchun, (k – 1)

o’rinda turgan qism massiv ham maksimal yig’indiga ega bo’ladi.

int best = 0, sum = 0;
for (int k = 0; k < n; k++) {
sum = max(array[k], sum + array[k]);
best = max(best, sum);
}
cout << best;

Xulosa.

Raqobatli dasturlash aqliy sport turlaridan eng zo’rlaridan biri hisoblanib, insonga har

tomonlama: matematika, fikrlash, kod yozish, raqobatbardoshlik kabi ko’nikmalarni yaxshi
darajada rivojlantiradi. Raqobatli dasturlashni shug’ullanayotgan insonga dasturlash sohasining
murakkab tushunchalarini nisbatan tezroq va osonroq tushunishga yordam beradi. Dasturlashga
endi kirib kelgan inson uchun kod yozish mahoratini va kodni yaxshi va sifatli yozish mahoratini
oshirishga ham yordam beradi. Raqobatli dasturlashda qisqa muddatda muvaffaqiyatga erishish
uchun birinchi navbatda shu muddat uchun to’g’ri reja tuzib olish va iloji boricha dasturlash
musobaqalarida qatnashish lozim, shuningdek, o’zingiz uchun muammo tug’diradigan mavzularni
tanlab olib, arxiv va onlay darslardan o’rganish lozim. Raqobatli dasturlash bilan shug’ullanadigan
dasturchi har doim o’zi uchun qiyinroq bo’lgan masalalarni ishlab borsa, rivojlanish yaxshi
bo’ladi.


background image

ISSN:

2181-3906

2024

International scientific journal

«MODERN SCIENCE АND RESEARCH»

VOLUME 3 / ISSUE 6 / UIF:8.2 / MODERNSCIENCE.UZ

1213

REFERENCES

1.

Guide to Competitive Programming: Learning and Improving Algorithms Through
Contests

. Author Antti Laaksonen

2.

Competitive Programming 4: The Lower Bound of Programming Contests in the 2020s.
Author Steven Halim

3.

https://www.geeksforgeeks.org/why-should-you-do-competitive-programming/

4.

https://blog.codechef.com/2021/06/10/top-5-topics-for-competitive-programming-for-
beginners/

5.

https://workat.tech/problem-solving/article/competitive-programming-complete-
roadmap-from-scratch-sbcrmnxb1sfg

6.

https://www.interviewbit.com/courses/programming/

7.

https://acmp.ru/asp/do/index.asp?main=course&id_course=2

8.

https://robocontest.uz/

References