Güçlü okul: Rus öğrenciler programlamada bir kez daha dünya şampiyonu oldular. Dünya şampiyonları - spor programcılığı hakkında

MOSKOVA, 19 Nisan. /TASS/. Finali Perşembe günü Pekin'de gerçekleşen prestijli ICPC dünya programlama şampiyonasında Rus öğrenciler dünya kupasını ve 13 madalyadan dördünü kazandı. Bunlar dört Rus üniversitesinden (Moskova Devlet Üniversitesi) öğrenci ekipleridir. Lomonosov, MIPT, ITMO ve Ural Federal Üniversitesi, MIPT'nin basın servisine bildirdi.

“Rus katılımcılar Dünya Kupası'nı kazandı ve 13 madalyadan dördünü kazandı; diğer katılımcı ülkelerden daha fazla: Çin ve ABD'den takımlar üçer madalya alırken, Japonya, Güney Kore ve Litvanya birer madalya aldı ve Moskova Devlet Üniversitesi birinci oldu. Şampiyonlar Kupası", Moskova Devlet Üniversitesi'nin yanı sıra MIPT, Pekin Üniversitesi ve Tokyo Üniversitesi'ne gitti. "Gümüş" ödülü ise Seul Üniversitesi, Güney Galler Üniversitesi, Xinhua Üniversitesi ve Şanghay Jao-tong Üniversitesi'ne gitti. Basın servisi, "Bronz"un ITMO Üniversitesi'ne, Central Florida Üniversitesi'ne, Massachusetts Teknoloji Üniversitesi'ne, Vilnius Üniversitesi'ne ve UrFU'ya gittiğini belirtti.

Dünya Programlama Şampiyonası

Uluslararası Üniversite Programlama Yarışması (ICPC), dünyadaki en eski, en büyük ve en prestijli spor programlama şampiyonasıdır. Yarışma, Bilgisayar Makineleri Birliği'nin (ACM) himayesinde 1977'den beri her yıl düzenleniyor. Bölgesel aşamalarda çok aşamalı elemeyi geçen takımlar şampiyona finallerine katılmaya hak kazanır.

Bu yıl, 111 ülkeyi temsil eden yaklaşık 3 bin üniversiteden yaklaşık 50 bin en iyi öğrenci programcı, bölgesel eleme turnuvaları da dahil olmak üzere ICPC şampiyonasında yarıştı.

Rus programcılar uzun yıllardır dünya şampiyonasına liderlik ediyor. Ülkemizin takımları 2000 yılından bu yana 13. kez ICPC'yi kazandı. Altı yıl boyunca, 2012'den 2017'ye kadar, Dünya Kupası iki St. Petersburg takımı tarafından birbirine devredildi - St. Petersburg Devlet Üniversitesi ve şampiyonluk sayısı açısından dünya rekorunu elinde bulunduran ITMO Üniversitesi: adı. En yakın yabancı rakipler olan Amerikan Stanford ve Çin Zhao Tong Üniversitesi'nin her birinin yalnızca üç zaferi var.

Rusya Federasyonu'ndan ekipler 1993'ten beri ICPC'ye katılıyor.

ICPC'de 25 yaşından büyük olmayan üç öğrenciden oluşan takımlar yarışır. Takımın elinde yalnızca bir bilgisayar vardır, bu nedenle yarışmacıların mantık ve dar zaman dilimlerinde çalışabilme becerisinin yanı sıra takım etkileşimi becerilerini de göstermeleri ve rolleri doğru şekilde dağıtmaları gerekir. Kazanan, en fazla sayıda sorunu doğru şekilde çözen ve aynı zamanda en iyi zamanı gösteren takımdır.

Tüm ICPC kazananlarına nakit para ödülü verilir: şampiyon takım - 15 bin dolar; altın madalya kazanan takımların her biri - 7,5 bin dolar; gümüş madalya alan takımların her biri 6 bin dolar, bronz madalya kazanan takımların her biri ise 3 bin dolar.

St. Petersburg ITMO Üniversitesi ekibi, Amerika'nın Rapid City şehrinde (Güney Dakota) düzenlenen ACM ICPC Dünya Spor Programlama Şampiyonası'nın son bölümünde yedinci kez altın madalya kazandı. İkinci sırayı Varşova Üniversitesi öğrencileri, üçüncü sırayı Seul Üniversitesi öğrencileri, dördüncü sırayı ise St. Petersburg Devlet Üniversitesi (SPbSU) öğrencileri aldı. ITMO ödülü, Bilgisayar Teknolojileri Bölümü öğrencileri Ivan Belonogov (lisans derecesi 4. sınıf), Ilya Zban (lisans derecesi 4. sınıf) ve Vladimir Smykalov (yüksek lisans derecesi 1. sınıf) tarafından savunuldu. Takımın koçu, prestijli ACM ICPC Kıdemli Koç Ödülünü kazanan Andrey Stankevich'tir.

Dünya Şampiyonasının belirli kategorilerinde altın madalyalar St. Petersburg Devlet Üniversitesi (SPbSU) öğrencilerine, gümüş madalyalar Moskova Fizik ve Teknoloji Enstitüsü (MIPT) takımına ve bronz madalyalar Ural Federal Üniversitesi öğrencilerine verildi. (Ural Federal Üniversitesi).

Ön elemeyi geçen 27 takım podyumda yer almak için yarıştı. Dünya Şampiyonasına Moskova, St. Petersburg, Yekaterinburg, Novosibirsk, Perm, Petrozavodsk, Saratov, Samara ve Tomsk'taki üniversiteler tarafından temsil edilen 13'ü Rus olmak üzere toplam 133 takım katıldı.

ACM Uluslararası Üniversite Programlama Yarışması, dünyadaki en yetkili spor programlama şampiyonası olarak kabul edilir. Yarışma, Bilgisayar Makineleri Birliği'nin (ACM) himayesinde 1977'den beri her yıl düzenleniyor. Şampiyonanın sponsorluğunu IBM Corporation üstleniyor. ACM ICPC kazananları 15 bin dolarlık ödül alacak.

“Bu çocuklar sorunları üç dakikada çözüyorlar. Evet, bu bir çeşit saçmalık! Ve bu hoşuma gitti. Çocuklar hedef odaklı olduklarında, ihtiyaç duydukları kaynaklara ve desteğe sahip olduklarında ve doğru koçluk rehberliğine sahip olduklarında ve yıl boyunca hedeflerine ulaştıklarında bu gerçekleşir” dedi ICPC İcra Direktörü Bill Poucher.

Başarının temeli

Dünya Şampiyonası'nın son bölümünün son etabı beş saat sürdü. ACM ICPC koşullarına göre üç öğrencinin elinde yalnızca bir bilgisayar vardı. Ekibin bir çözüm algoritması oluşturması ve mümkün olan en kısa sürede mümkün olduğu kadar çok sorun için kod yazması gerekiyordu.

"ACM ICPC ana maçında ciddi bir kavga çıktı - yarışmanın bitimine bir saat kala, sıralamalar dondurulduğunda ITMO Üniversitesi öndeydi, ancak son maça kadar kimin kazanacağı bir sır olarak kaldı" diyor ITMO basın servisi.

Petersburg'dan gelen ekip 12 problemden 10'unu çözmeyi başardı, ancak rakipleri de aynı sayıda problemi çözdü. Yine de ITMO öğrencileri en iyi süreyi (845 dakika) gösterdi. En yakın takipçiler olan Varşovalı öğrenciler 10 görevi 953 dakikada tamamladılar.

“Diğer takımların 11 sorunu çözebilecek potansiyele sahip olduğunu gördük. Ancak şanslıydık: kimse 10'dan fazlasını çözmedi" dedi ekip üyelerinden Vladimir Smykalov ödül töreninden sonra.

Rus takımları 1995'ten beri ACM ICPC şampiyonasına katılıyor ve bunların 12'sini kazanmayı başardı. ITMO ekibi 2004, 2008, 2009, 2012, 2013, 2015 ve 2017 yıllarında yedi kez kazandı. St.Petersburg Devlet Üniversitesi 2000, 2001, 2014 ve 2016'da dört zafer kazandı. 2006 yılında Saratov Devlet Üniversitesi öğrencileri altın madalya aldı.

  • Anatoly Shalyto
  • vk.com

ITMO Programlama Teknolojisi Departmanı başkanı Profesör Anatoly Shalyto, üniversitesindeki öğrencilerin zaferi hakkında RT'ye yorum yaptı.

“Güçlü bir matematik okulumuz ve iki dahi antrenörümüz var - ikisi de Andrei Sergeevich. Biri Stankevich, diğeri Lopatin (St. Petersburg Devlet Üniversitesi ekibinin akıl hocası. - RT), Durov ile birlikte VKontakte ve Telegram'ı yaratan. İki kez dünya şampiyonu oldu. Çocuklarımızla gurur duyuyoruz” dedi Shalyto.

“Zaferlerimizin nedenini bir örnekle açıklayabilirim. 2013 yılında Dünya Şampiyonasına ev sahipliği yaptık ve birinci olduk. Görünüşe göre takım koçunun Kırım veya Bali'ye tatile gitmesi gerekiyordu. Ve bir yaz bilgisayar okulu yönetmeye gitti ve çocukları yatırdığı için akşam 22'ye kadar kendisini aramamamı istedi" diye açıkladı profesör.

RT'nin muhatabı, öğrenciler profesörle aynı fikirde olmasa da programlamanın profesyonel bir spor haline getirilebileceğine inanıyor. Yine de Shalyto, Başbakan Yardımcısı Vitaly Mutko'nun isteklerini duyacağını ve gelecekte bir Rus spor programlama federasyonunun ortaya çıkacağını umuyor.

“Sporcularımızın hokeyde, futbolda veya basketbolda gösterdiği sonuçlara bakıyorsunuz. Artık herhangi bir spor dalında yedi kez şampiyon olduğumuzu hayal edebiliyor musunuz?<...>Neden Stankeviç'imiz Rusya'nın onurlu bir koçu olamıyor?''

Rusya Stratejik Araştırmalar Enstitüsü'nde (RISI) bilgi güvenliği uzmanı Ivan Monkov, RT'ye Rus programcıların başarısının temelinin Sovyet/Rus fizik ve matematik okulu olduğunu söyledi.

“Rusya, birinci sınıf BT uzmanlarının ortaya çıkması için mükemmel bir bilimsel temele sahip. SSCB'nin çöküşüne rağmen 1990'larda teknik eğitim oldukça iyi bir seviyede kaldı. Bu nedenle oyuncularımızın her yıl şampiyon olmasına şaşırmıyorum" dedi Monkov.

"En üste dön"

ITMO Üniversitesi, ACM ICPC'ye göre dünyada yedi kez şampiyon olan tek üniversitedir. 2016 yılında Times Higher Education'ın dünyanın en iyi bilişim üniversiteleri sıralamasında St. Petersburg Üniversitesi 56. sırada yer aldı.

ITMO'nun tarihi, 13 Mart 1900'de II. Nicholas'ın mekanik-optik ve saatçilik bölümü olan bir meslek okulu kurmasıyla başladı. 1920 yılında okulun ana sınıfları teknik okula dönüştürülmüştür. 1933 yılında teknik okul temelinde Leningrad Hassas Mekanik ve Optik Enstitüsü kuruldu.

1994 yılında enstitü, bilgi teknolojisi ile ilgili alanların açılmasını mümkün kılan üniversite statüsünü aldı. ITMO Ulusal Araştırma Üniversitesi statüsü 2009 yılında verildi.

22 Mayıs'ta Le Figaro köşe yazarı Marc Cherki, ITMO'nun "en prestijli uluslararası yarışmalara hakim olan genç bilgisayar bilimi dahilerini hazırladığını" yazdı. Ona göre, St. Petersburg öğrencilerinin başarıları, Rusya'nın "dünya araştırma yarışının liderlerine geri dönmeye çalıştığının" kanıtıdır.

DataArt, ITMO'nun spor programlama ekibiyle uzun süredir arkadaştır ve onlara yardımcı olmaktadır. Bu yaz Ilya Zban, Ivan Belonogov ve Vladimir Smykalov St. Petersburg geliştirme merkezimizi ziyarete geldiler. 2017 dünya şampiyonları, programcıların birbirleriyle nasıl rekabet ettiği, eğitim kampları, favori görevler ve en güçlü rakipler hakkında konuştu.

Programlama Olimpiyatı

Programcıların ana yarışması - ACM (ACM-ICPC veya kısaca ICPC) himayesindeki Uluslararası Öğrenci Olimpiyatı - 1970'lerden beri düzenleniyor ve 1989'da günümüze yakın bir biçimde şekillendi. Olimpiyat, lisans ve yüksek lisans öğrencilerine yöneliktir; nadir istisnalar dışında, 24 yaşın üzerindeki programcıların yarışmasına izin verilmez. Ayrıca finallerde gücünüzü yalnızca iki kez test edebiliyorsunuz ve bölgesel seçimlere yalnızca beş kez katılmanıza izin veriliyor. Dünya çapında gerçekleştirilen erken aşamalarda binlerce takım yarışıyor. En iyilerin yaklaşık yüz tanesi finale kaldı.

Temel kurallar

Ekipler üç kişiden oluşur ve her ekibin elinde yalnızca bir bilgisayar bulunur. Yarışmanın başlamasından önce herkese, beş saat içinde çözülmesi gereken algoritmik veya matematiksel nitelikte (8 ila 13 parça arasında) problemlerin bulunduğu zarflar verilir. Sorunun çözümü, bir metin isteğini okuyan ve metin yanıtı üreten bir programdır. Kontrol etmek için, çözüm jüri tarafından önceden hazırlanmış yaklaşık yüz test üzerinde gerçekleştirilir; yalnızca her testte yanıtın doğru olması durumunda doğru olarak kabul edilir.

ICPC kuralları çok açık bir şekilde belirtilmiştir. video Olimpiyatlar için seçimin ana aşamalarından biri olan Urallar programlama şampiyonası için yayınlandı. Bunlar tüm bölgeler için aynıdır ve 2013'ten bu yana değişmeden kalmıştır.

Diller ve çevre

2017 finalinde mevcut diller Java, C++ ve Python'du. Bununla birlikte, Python'un prensip olarak çok hızlı olmadığı açıktır - jüri, görevi onu kullanarak geçmenin mümkün olacağını garanti etmedi. Ancak bu dillerde yazılmış, tüm testleri geçen çözümlerinin olduğunun güvencesini sağladı.

Farklı yarışmalarda dil seti farklı olabilir. Örneğin, Codeforces çevrimiçi platformu yaklaşık 20 dile izin verir: C++ ve Java'dan Haskell ve Perl'e kadar.

Çoğu takım finalde C++ yazıyorÇünkü hız ön plana çıkıyor. Bir geliştirme ortamı olarak birçok ekip VIM'i (örneğin, Ivan ve Ilya burada çalıştı) veya Gina'yı (Vladimir burada çalıştı) kullanıyor. Otomatik tamamlama olmadan Java'da yazmak çok daha zor olduğundan, Java'da yazanlar Eclipse gibi bir ortam kullanma eğilimindedir.

Finallerin sponsorluğunun artık JetBrains tarafından yapılacağından (Mayıs 2017'nin sonuna kadar 20 yıl geçti, ICPC IBM'in sponsorluğundaydı) yakın gelecekte değişiklikler bekleyebiliriz. Bu, sponsorun ürünlerinin de bu ürünlerde görüneceği anlamına gelir: Java için IDEA ve C++ için CLion. Belki bundan sonra ekipler hata ayıklayıcıları yaygın olarak kullanmaya başlayacak, ancak şimdilik çoğunlukla bunlar olmadan idare ediyorlar.

Görevlerin gelişimi

2000'li yılların başlarında, küçük kısıtlamalara sahip kaba kuvvet görevleri ağırlıktaydı; artık veri yapılarında daha fazla görev var. Aynı zamanda, dünyada oldukça izole spor programlama okulları var: Polonya'da ideolojik, çoğunlukla matematiksel problemleri severlerken, Çin'de örneğin çok fazla kod yazmanız gereken karmaşık teknik problemleri tercih ediyorlar. , kombinatoriklerin hesaplanması.

Amaç her zaman hızlı bir şekilde işe yarayan bir çözüm bulmak ve uygulamaktır. Herhangi bir sorun, örneğin tüm olası seçeneklerin üzerinden geçen bir program yazarak bir şekilde çözülebilir. Ancak son yıllarda, yazma aramalarıyla ilgili sorunlar neredeyse hiç yaşanmadı.

Zaman ve hafıza kısıtlamaları vardır, ancak pratikte çok fazla hafıza kullanan bir çözümle ilgili problemler nadiren ortaya çıkar. Her test için zaman sınırı, göreve bağlı olarak genellikle bir ila üç saniye arasındadır - bu aynı zamanda durumda da belirtilir.

Örnek problemler

Sorunlar farklı olabilir: grafikler, çizgiler, geometri vb. Diyelim ki harita üzerinde şehirler arasındaki en kısa yolu hesaplayın. Veya dışbükey olmayan bir çokgen olarak temsil edilen bir adada mümkün olan en uzun pisti inşa edin. Görev, metinleri karşılaştırmak, yani bir çift dize için en büyük ortak alt dizeyi bulmak olabilir.

Diğer bir format ise jüri tarafından yazılan bir sistemle oyun oynamanızın istendiği etkileşimli görevlerdir. Yarı finallerden birinde önerilen tic-tac-toe algoritmasını vakaların %90'ında yenebilecek bir program yazmak gerekiyordu. Sonuncusu da dahil olmak üzere geçmiş finallerdeki sorunlar görüntülenebilir.

Çözüm süreci

Temel olarak, ekip üyeleri kişisel tercihlere bağlı olarak koşulları içeren sayfaları sıralarlar: bazıları çizgilerdeki problemleri sever, diğerleri geometri ile ilgili problemleri sever. Genel olarak burada bireysel çalışma, ekip çalışmasının önüne geçiyor.

İlk adım, problemlerden birini çözmek için bir algoritma bulmaktır. Bazen çözümün yazarı, çözümün matematiksel olarak doğru olduğundan emin olmak için bunu ekiple tartışır. Bundan sonra, diğer iki katılımcı kalan sorunların çözümleri üzerinde düşünmeye devam ederken yazar kod yazmaya oturur. Kod yazıldıktan sonra genellikle koşula eklenen test senaryolarına karşı test edilebilir ve değerlendirme için sisteme gönderilebilir. Bilgisayar süresi sınırlı olduğundan (katılımcıların yalnızca bir bilgisayarı olduğunu unutmayın), yarışmalarda her zaman bir yazıcı bulunur: bir çözüm işe yaramazsa, birisi - genellikle yazarı - kodu kağıda yazdırarak hataları arar.

Kod Özellikleri

Bir yandan spor programcılığıyla uğraşan kişiler, stresli koşullar altında nasıl hızlı ve net bir şekilde kod yazılacağını biliyorlar. Öte yandan bu kodun belirsiz değişkenler içermesi ve okunmasının zor olması nedeniyle sıklıkla eleştiriliyorlar. Yarışmalarda yazılan kodda aslında uzun ve anlaşılır değişken isimleri yoktur; sonuçta bir yıl içinde bakımının yapılmasına gerek yoktur. Ancak yüksek düzeyde bu sorun o kadar da ciddi değil çünkü kodun hâlâ ekip arkadaşları tarafından anlaşılması gerekiyor.

Spor programlamanın bir diğer özelliği de test sisteminin hafıza serbest bırakılmasını hiçbir şekilde değerlendirmemesidir; çözüm yalnızca birkaç saniye boyunca çalışır.

Algoritmalar

Oldukça fazla algoritma biliyoruz, farklı veri yapıları kullanıyoruz: segment ağacı, Fenwick ağacı, Kartezyen ağacı vb. Bazen dengeli bir arama ağacını kendimiz yazmamız ve aynı anda onu tanımlanan bilgileri dikkate alacak şekilde değiştirmemiz gerekir. sorunun durumuna göre. Örneğin C++ dilinde bir dizi sayıyı destekleyebilen ve örneğin aşağıdakileri bulabilen bir küme yapısı vardır. Görev, bir sonraki sayıyı değil, belirli bir sayıya eşit veya ondan küçük tüm sayıların toplamını bulmayı gerektirebilir. Bu standart yapılar kullanılarak başarılamaz.

Yanınızda herhangi bir kod parçası getiremezsiniz, ancak Dünya Şampiyonasında takım referansı olarak adlandırılan kağıda basılmış bir dizi algoritmayı kullanmanıza izin verilir. Anında çok şey yazabilmemize rağmen, bu yıl bunu hazırlamak için çok zaman harcadık ve daha karmaşık algoritmaları test ettik. Ancak sonuçta kayıtlar hiç kullanılmadı.

Kod miktarı final notunu doğrudan etkilemez; diğer bir husus da ayrılan sürede 1000 satır yazmanın zor olmasıdır. Ve güzel, kısa ve öz bir çözüm bulduğunuzda, bunu yalnızca 10-15 dakikada yapabilirsiniz. Çoğu koşulun uyarlanması tam da bu kadar zarif yollar aramak içindir: bir çözümün ortalama hacmi 100-200 kod satırıdır, ancak bazı durumlarda 300'e kadar çıkabilir. Sıradan hayatta 300 satır öyle değildir çok, ama burada tüm sorunları çözmek için sadece beş saatiniz var. Hızlı yazmanız gerekiyor ve üç yüz satırda bir hata yapılırsa görev geçmeyecek, bu da onu çözmek için harcanan tüm zamanın kaybedileceği anlamına geliyor. Ayrıca kod ne kadar uzun olursa basılı versiyonda hata bulmak da o kadar zor olur.

Diğer turnuvalar ve eğitim



Nakit ödüller turnuva katılımcılarının ana motivasyonundan uzaktır. Fotoğrafta: Ivan Belonogov ve Ilya Zban - VK Cup 2015'in kazananları (kaynak - Ivan Belonogov'un sayfası). 2017 yılında ITMO şampiyon takımının üçüncü üyesi Vladimir Smykalov VK Kupası'nın galibi oldu.

Sürekli olarak bireysel turnuvalara katılıyoruz - birçoğu var. Örneğin, Russian Codeforces web sitesindeki yarışmalar düzenli olarak birkaç bin kişiyi çekmektedir ve bunların genellikle yaklaşık %20'si Rus'tur. Buradaki standart tur, iki saat içinde çözülmesi gereken beş algoritmik problemden oluşuyor. Bu kaynak etrafında gelişen topluluktaki en önemli şey, satrançta olduğu gibi Elo sistemine göre hesaplanan kişisel derecelendirmedir. Programcılar, turnuvalarda başarılı performans sergileyerek puan alırlar; bunların belirli bir kısmı otomatik olarak takma adlarının rengini değiştirir. Kırmızı lakaplılara sadece yardım talepleri değil, aynı zamanda işverenlerden teklifler de geliyor. Ve en önemlisi, herhangi bir şampiyon sporcu gibi onlar da evrensel saygıya sahiptirler - birçok katılımcı için "kırmızı takma ad", savaşmak için yeterli bir teşvik görevi görmektedir.


Kırmızı takma adlardan daha havalı, yalnızca ilk harfi siyah olan kırmızı takma adlar. 13 Temmuz'da Codeforces'ta ilk yirmide sekiz Rus vardı; Ukraynalılar, Polonyalılar ve Çinlilerden ikişer kişi ve İsviçre, Avustralya, Kore, ABD, Tayvan ve Beyaz Rusya'dan birer temsilci. Aynı zamanda, Belaruslu programcı artık reytingin zirvesinde yer alıyor, ancak prensipte tablodaki değişiklikler sürekli olarak meydana geliyor.

Büyük yarışmalar Mail.ru, Yandex tarafından düzenlenmektedir. Facebook, Google ve diğer şirketler. Örneğin mevcut Google Code Jam turnuvasının ilk turuna 20 bin kişi katıldı. En iyi sonucu alan markalı tişörtlerden bin tanesi, 25'i bu yıl Dublin'de düzenlenecek finale gidecek.

Google Code Jam'e ek olarak Google, finali şirketin merkez ofisinde düzenlenen Hash Code adında başka bir turnuva düzenledi. Özellikle katılımcılara, mümkün olduğunca az sayıda yönlendirici ve kablo kullanılarak, Wi-Fi noktalarından oluşan bir ağ ile mümkün olduğunca kapsanması gereken bina planları verildi. Böyle bir problemin optimal bir çözümü yoktur, ancak elbette onu diğerlerinden daha iyi çözmek mümkündür.


Google Hash Code organizatörlerinin yönlendirici yerleştirmeyi önerdiği binalardan biri Paris Büyük Operasıydı.

Ayrı bir yarışma türü, organizatörler tarafından kütüphane şeklinde sağlanan orijinal programa karşı oynayabilecek bir yapay zeka programı yazmanız gereken AI Cup tarafından temsil edilmektedir. Oyunlar özellikle turnuvalar için yaratılmıştır, yani prensip olarak bunları ellerinizle oynayamazsınız. Ancak senaryolar, onlara yönelik strateji yazmanın ilgi çekici olmasını sağlayacak şekilde seçilmiştir.


Bu yılın oyunu modern MOBA'lara benziyordu: Çözüm, beş sihirbazdan oluşan bir ekibi kontrol etmek ve kod sözcükleri kullanarak komut alışverişinde bulunmalarına olanak sağlamaktı.

Benzer yarışmalar Fransız web sitesi CodinGame'de sürekli olarak düzenlenmektedir. Ve AI turnuvalarında hiç antrenman yapmadan ilk iki yirmide yer alarak iyi sonuçlar elde etmemiz çok güzel. Sonuçta spor programcılığındaki temel beceri oturup düşünmek ve kod yazmaktır.


2017/18 sezonu ABD lise takımı. Amerika'da spor programcılığındaki başarı esas olarak Asya kökenli gençler tarafından elde edilmektedir.

En gizemli rakipler, internete sınırlı erişime rağmen hala eğitim alan ve çoğu zaman oldukça iyi performans gösteren Kuzey Koreli programcılar gibi görünüyor. Doğru, bu yıl ABD'deki finallere gelemediler ve Codeforces'ta hileci olarak ün kazandılar. Özellikle çevrimiçi turnuvalara katılan Kuzey Koreli katılımcılar, açıkça farklı kişilerin aynı hesaptan kod yazmalarıyla suçlandı. Ve bu kurallar tarafından kesinlikle yasaktır.


Bu yıl uluslararası olimpiyatlarda Batı Avrupa'dan yalnızca bir takım ilk 10'a girdi; Stockholm Kraliyet Teknoloji Enstitüsü öğrencileri.

Rusya'nın başarıları oldukça anlaşılır görünüyor, çünkü burada çok güçlü bir matematik okulu ve yeni başlayanlara yardım etmeye hazır Olimpiyat katılımcılarından oluşan yerleşik bir topluluk var. Rusya'da, ITMO'ya ek olarak, çok güçlü takımlar St. Petersburg Devlet Üniversitesi (geçen yılın şampiyonları), Moskova Devlet Üniversitesi, Moskova Fizik ve Teknoloji, Yekaterinburg ve Saratov'daki üniversiteler tarafından temsil ediliyor, ancak zaman zaman diğer üniversiteler de bir araya gelmeyi başarıyor. iyi takımlar.


Fotoğrafta başka bir ITMO ekibi var: Artem Vasiliev ve Borisa Minaev ve Gennady Korotkevich - 2015 dünya şampiyonu. Uluslararası Programlama Olimpiyatı'nın kupaları devredilemez - şu anda ITMO'da halihazırda yedi kupa bulunuyor. Etiket ekle

Son 17 yılda Rus programcılar AFM programlama ICPC'sinde 11 kez dünya şampiyonluğunu kazandılar ve son beş yılda kupalar her yıl Rusya'ya gitti. RBC dergisi, dünyanın en prestijli programlama yarışmalarından birinin finalistlerinin birçoğunun kariyerlerinin nasıl geliştiğini ortaya çıkardı

Fotoğraf: RBC adına Askhat Bardinov

Uluslararası öğrenci programlama şampiyonası Bilgisayar Makineleri Uluslararası Üniversite Programlama Yarışması Birliği (bundan sonra ICPC olarak anılacaktır) 1977'den beri düzenlenmektedir. Her defasında farklı ülkelerde gerçekleşen finale üç kişiden oluşan 100-120 takım ulaşıyor. Turnuva organizatörleri, her biri dörder altın, gümüş ve bronz olmak üzere 12 set madalya oynuyor.

ICPC'nin tüm dönemi boyunca, çoğunlukla iki Rus üniversitesinden öğrenciler şampiyon oldu: St. Petersburg Devlet Üniversitesi (SPbSU) ve St. Petersburg Ulusal Bilgi Teknolojileri, Mekanik ve Optik Araştırma Üniversitesi (ITMO). 2006 yılında Saratov Devlet Üniversitesi takımı kazandı.

Amazing Hiring platformundaki işe alım grubunun başkanı Alexander Pashintsev, RBC dergisine verdiği demeçte, yarışmanın öğrencilere yönelik olduğunu, ancak beş ila on yıl sonra bile işe alım sırasında katılımın dikkate alındığını söyledi. Pashintsev, çoğu zaman, bu tür Olimpiyatların madalya kazananları ve şampiyonlarının İnternet devleri - Yandex, VKontakte, Facebook, Google, Amazon, Mail.Ru Group, Avito veya örneğin yüksek frekanslı ticaretle uğraşan uzman şirketler tarafından işe alındığını belirtiyor. Ona göre, büyük BT şirketlerinde toplam çalışan sayısının% 5-10'u ICPC turnuvalarından geçmiş uzmanlardır.

İşe alma kurumu Cornerstone'un BT ve Telekom departmanında kıdemli danışman olan Irina Lukavskaya, özel yarışmaları kazanan gençlerin, çalışanları kendi başlarına eğitmeye alışkın olan büyük Batılı şirketlerin ilgisini çekebileceğini söylüyor. Bu tür çalışanların maaş düzeyi, anladıkları teknolojinin modernliğine ve pazardaki profesyonel rakiplerin sayısına bağlıdır. Örneğin 1C yazılımıyla çalışanların aylık maaşı 150 bin ruble. - layık, diye devam ediyor Lukavskaya ve ABAP geliştiricileri (Alman SAP'nin iç programlama dilini biliyorlar) 2008 krizinden önce bile 200 bin rubleden fazla kazandılar. ayda.

Birçok ICPC üyesi, halihazırda çalıştıkları şirketlerin kurumsal politikaları nedeniyle iletişim kurmayı reddetti. RBC dergisi dört ICPC şampiyonu ve madalya sahibiyle konuştu ve kariyerlerinin nasıl geliştiğini ve "Olimpiyat" geçmişlerinin onlara yardımcı olup olmadığını öğrendi.

Oyuncu koçu

Programlamada iki kez dünya şampiyonu olan (2000 ve 2001) Andrey Lopatin, BT ve öğretmenlik alanındaki kariyerini birleştirmeyi başardığına inanıyor. Eski akıl hocası, St. Petersburg Devlet Üniversitesi Bilgi Teknolojileri ve Programlama Fakültesi'nde kıdemli öğretim görevlisi Natalya Voyakovskaya, 15 yıllık çalışmanın ardından ayrıldı ve ICPC'deki ikinci zaferinin ardından Lopatin, üniversitenin baş antrenörlüğünün yerini aldı. . “İşin yaşamasını istedim. Eğer onu almasaydım parçalanacaktı” diyor şampiyon öğretmen.

St.Petersburg Devlet Üniversitesi'nde rekabete ilgi artıyor: on yıl önce spor programcılığına katılmak isteyen kişilerin sayısı yılda 100 kişiyi geçmiyordu. Artık şampiyonada güçlerini test etmek isteyen öğrenci sayısı yılda 200 kişiye ulaşıyor: St. Petersburg Devlet Üniversitesi'nin çeşitli fakültelerinden öğrenciler Lopatin'e geliyor. Bunlar çoğunlukla matematik öğrencileridir; her birinin kendi başarıları vardır, ancak ortalama olarak eğitim yaklaşık üç ila beş yıl sürer. Yarışmaya katılım için son seçim yaklaşık 50 kişidir ve ICPC finaline yalnızca üç kişi ulaşabilmektedir.


Andrey Lopatin, programcıların yalnızca kod yazmakla kalmayıp aynı zamanda programın nasıl çalışması gerektiğini de bilmeleri durumunda değerli bir kaynak olacağından emin

İlk aşamada haftada bir veya iki kez birkaç saat çalışabilirsiniz, Lopatin deneyimini daha ileri düzeyde paylaşıyor - haftada üç kez beş saat. Ayrıca sürekli ödev yapmak da gereklidir. Eğitmen, örneğin ders sırasında bazı problemleri çözemeyen öğrencilerin bunları evde bitirmeleri gerektiğini, aksi takdirde ilerleme olmayacağını belirtiyor.

İyi bir hazırlık seviyesi ile öğrenciler ayda bir veya bir buçuk ayda bir saha etkinliklerine katılmaya başlarlar: üniversitelerden birinde farklı üniversitelerden ekipler toplanır ve birbirleriyle yarışır. Lopatin, katılımcılar ve antrenörler açısından Rusya'nın en güçlü alanının Petrozavodsk Devlet Üniversitesi'nde bulunduğunu söylüyor.

Ülkenin baş antrenörlerinden biri, eğitim kamplarının zaman zaman yurt dışında da düzenlendiğini, ancak katılımcıların ortalama eğitim seviyesi nedeniyle kural olarak "Rusya'dakinden çok daha zayıf" olduğunu söylüyor. Rusya son yıllarda ICPC'ye hakim oldu. Lopatin, Rus programcılarla tam olarak rekabet edebilenler arasında Amerikalı programcıları adlandırıyor, ancak bu, önde gelen ABD üniversitelerinin dünyanın her yerinden eğitim almaya gelmesi nedeniyle "ithal" öğrencilerin (Polonyalılar, Çinliler ve diğerleri) pahasına oluyor.

Lopatin sırıtıyor: "Çinlilerin bizimkine benzer eğitim kampları olduğunu söylüyorlar ama biz onlara hiç davet edilmedik, bu yüzden bundan emin değiliz." Kendisi bir okul çocuğuyken ve programlama yarışmalarına katıldığında, Çinli katılımcılar hakkında pek çok söylenti vardı: Güya bir yıl boyunca dağlara götürüldüler ve antrenman yapmaya zorlandılar. Bu doğru olsun ya da olmasın Çin takımları “oldukça güçlü bir rekabet” oluşturuyor, Lopatin ciddileşiyor.

Programlama "çok fazla matematik bilgisi gerektirir" diye devam ediyor: Eğer çocukluktan itibaren matematikle tanışmaya başlarsanız, belirli bir zihniyet geliştirirsiniz. ICPC'de katılımcının yalnızca kod yazmasına gerek yoktur - karmaşık bir sorunu çözmesi ve yeni bir şey keşfetmesi gerekir ve matematiksel düşünme ve algoritma bilgisi olmadan hiçbir yere varamazsınız, koç kategoriktir. Şampiyonadaki görevler her yıl daha karmaşık hale geliyor; 15 yıl önce gerçekçi olmayan görevler artık 15 dakikada çözülebiliyor.

Birçok BT şirketi kendi programlama yarışmalarını düzenler: bu onların gelecekteki çalışanları aramalarına olanak tanır. Ancak ICPC en prestijli yarışmadır: Lopatin, katılımcılarının yalnızca programlar oluşturan kodlayıcılar değil, aynı zamanda böyle bir programın nasıl yapılandırılabileceğini ortaya çıkaran uzmanlar olduğunu açıklıyor. ICPC finalistleri işverenin bütçesinden tasarruf edebilir: Eğitmen, 10 bin sunucunun şirkete 50 milyon dolara mal olacağını ve iki akıllı programcının bu sunucuları satın almamak için ne yapılması gerektiğini size söyleyebileceğini açıklıyor.

St. Petersburg Devlet Üniversitesi takımlarını programlama yarışmalarına hazırlamak Lopatin'in asıl işidir. Yıllar boyunca Pavel Durov tarafından oluşturulan VKontakte ve Telegram'da çalıştı, ancak şimdi öğretmenliğe paralel olarak VeeRoute lojistik rotalarının inşası için Rusya hizmetine danışmanlık yapıyor. Lopatin, 15 yıl önceki son kişisel şampiyonluğundan bu yana kendisini çalışmaya çağıran yaklaşık on büyük şirketi geri çevirdiğini itiraf ediyor.

Kedilerin şefi

Dmitry Egorov, 20 yaşındayken, 2014 yılında St. Petersburg Devlet Üniversitesi Matematik ve Mekanik Fakültesi'nde üçüncü sınıf öğrencisiyken ICPC dünya şampiyonu oldu. Şu anda Rusya'nın en büyük sosyal ağı olan "VKontakte"nin veritabanı geliştirme ve optimizasyon departmanına başkanlık ediyor ve Ulusal Araştırma Üniversitesi Ekonomi Yüksek Okulu'nda yüksek lisans eğitimine devam ediyor. Ancak üniversiteyi işle birleştirmek Egorov için yaygın bir şey.

Geleceğin dünya şampiyonu, St. Petersburg'daki 239 No'lu Fizik ve Matematik Lisesi'nden mezun oldu - örneğin, Poincaré varsayımını kanıtlayan matematikçi Grigory Perelman ve VKontakte'nin kurucusu Pavel Durov Nikolai'nin çalıştığı prestijli bir okul. sosyal ağların oluşturulması ve geliştirilmesi konusunda onunla birlikte.


Bir yıl önce Dmitry Egorov VKontakte departmanına başkanlık etti. Onun liderliğinde programlama alanında dört dünya şampiyonu var. (Fotoğraf: RBC'den Askhat Bardinov)

2014 yılında ICPC şampiyonasının finali Temmuz ayı başlarında Yekaterinburg'da yapıldı. Egorov'un oynadığı St. Petersburg Devlet Üniversitesi takımı birinci oldu - bu, Rusya'nın dünya turnuvasında üst üste üçüncü zaferiydi.

Üniversitedeki eğitiminin ilk yıllarında Egorov, 2012'den 2014'e kadar Yandex'de staj yaptı. Öğrenci, şirketin düzenli olarak "stajyerler" işe aldığını, dolayısıyla eğer arzunuz varsa ve "belli bir düzeyde temel eğitime" sahipseniz oraya ulaşmanın zor olmadığını söylüyor. Yandex'deki stajı yalnızca edinilen programlama becerileri açısından değil, aynı zamanda büyük bir şirket içindeki organizasyon açısından da "son derece yararlı" olarak nitelendiriyor. Stajın ardından Egorov, kendisini büyük bir şirketin sıradan bir çalışanı olarak görmediğini fark etti. St. Petersburg Devlet Üniversitesi'nin eski bir öğrencisi, "Her zaman diğerlerinden fark edilir derecede daha fazla ve daha iyi çalışmaya hazırdım, ancak aynı zamanda daha büyük getiriler de bekliyorum" diye açıklıyor. Egorov, büyük şirketlerin büyüme ve gelişme için yeterli fırsatlara sahip olmadığından ve bireysel bir yaklaşımdan yoksun olduklarından şikayet ediyor. Ve bu sadece Yandex için değil, Google gibi diğer bilişim devleri için de geçerli. “İyi bir maaş ve geleceğe güven ile sakin bir yaşam istiyorsanız, o zaman büyük BT şirketleri mükemmel bir seçenektir. Ancak bu bana göre değil” diyor ICPC şampiyonu.

Ödül töreninin hemen ardından VKontakte çalışanlarından biri Egorov'a yaklaştı ve takıma katılmayı teklif etti. Birkaç ay sonra öğrenci en büyük sosyal ağda çalışmaya başladı. Onun için beklentiler açık: 2014 baharında Pavel Durov VKontakte'den ayrıldı ve ardından birçok geliştirici şirketten ayrıldı. Şampiyon, "Günde on milyonlarca kullanıcıya rağmen startup ruhu bir kez daha havadaydı" diye gülümsüyor. Bir yıldan kısa bir süre sonra Egorov, özel bir pozisyona geldiği departmanın başına geçti. Bölümünde yedi kişi var: Hepsi farklı yıllarda ICPC'ye katıldı, dördü dünya şampiyonu oldu.

Egorov, veritabanlarını geliştirme ve optimize etme yönünün eski Olimpiyat katılımcıları için ideal olduğundan emin. Birkaç yıl önce, piyasada mevcut tüm çözümlerin şirket için etkisiz olduğu ortaya çıktığından, VKontakte web sitesinin tüm yüksek yüklü bölümleri şirketin ihtiyaçları için optimize edilmiş şirketin kendi veritabanlarına aktarıldı. Egorov gülüyor: "Basit bir ifadeyle, kilotonlarca kullanıcı kedinin hiçbir yerde kaybolmamasını sağlamaktan sorumluyum."

Yüksek lisans öğrencisi, bölümünün şirket için önem derecesini değerlendirmeye hazır değil: VKontakte'de anahtar ve ikincil gelişim bölümlerini belirlemek zordur. Tam teşekküllü çalışma ve geliştirme için tüm bileşenlere ihtiyaç vardır: veritabanları, arka uç, ön uç, bir grup sistem yöneticisi ve mobil geliştirme. Egorov, bu parçalardan herhangi biri olmadan sitenin oldukça hızlı bir şekilde bozulmaya başlayacağından emin. “Hangi insan organının daha önemli olduğunu sormuyorsunuz: beyin mi yoksa kalp mi? Bunların hiçbiri olmadan insan ancak şakalarla yaşayabilir” diyor.

ICPC şampiyonalarının tüm kazananları, kural olarak, iş yerlerini oldukça geniş bir listeden seçebilirler. Egorov, örneğin ödül töreni sırasında Dünya Şampiyonası'nın genel sponsoru IBM'in tüm kazananlara İK hizmetleriyle iletişime geçmeleri ve boş pozisyonları tartışmaları için bir davetiye dağıttığını hatırlıyor. Kendisi için hemen Rusya'dan ayrılmak istemediğine karar verdi.

Egorov, "Birçok BT uzmanı için yurt dışına taşınmak, birbirlerinde geliştirdikleri bir takıntıdır" diyor. İşveren olarak VKontakte'yi seçtiğinden pişmanlık duymuyor ve BT uzmanlarının yurt dışına kitlesel göçünü "ülke için mutlak bir felaket" olarak nitelendiriyor.

Olasılıklar alanı

St. Petersburg Devlet Üniversitesi Mekanik ve Matematik Fakültesi 1. sınıf öğrencisi Gleb Leonov ve iki arkadaşı, üniversitenin standında Olimpiyat programcılığına katılmak isteyenlere yönelik bir reklam gördü. Matematik okulu mezunu - Pavel Durov'un çalıştığı St. Petersburg Devlet Üniversitesi Akademik Spor Salonu - ilgilenmeye başladı. Andrei Lopatin'in "sınıfına" bu şekilde girdi. Leonov iki kez ICPC finalisti oldu ve bir kez gümüş madalya kazandı.

Leonov, St. Petersburg Devlet Üniversitesi'nde okurken yarı zamanlı çalışmadı: Buna özel bir ihtiyaç yoktu ve programlama eğitimi ve eğitiminin çok zaman aldığını hatırlıyor. Leonov üniversiteden sonra yüksek lisans okuluna girdi ancak bir yıl sonra ayrıldı: programlamaya konsantre olmak istiyordu.


Gleb Leonov çocukluğundan beri matematik problemlerini çözmeyi seviyordu ve üniversitedeyken Olimpiyat programlamasıyla ilgilenmeye başladı. (Fotoğraf: RBC'den Askhat Bardinov)

Artık ICPC finalistleri potansiyel işverenlerden çok sayıda teklif alıyor: on yıl önce fırsatları daha mütevazıydı. Ancak o zaman bile Google programcıları röportajlara çağırıyordu. Leonov, en büyük Amerikan BT şirketlerinden birinde çalışma ihtimalinden hiçbir zaman etkilenmedi.

Leonov, ICPC katılımcılarının yurt dışına gitmesinin ve orada iş bulmasının artık zor olmadığını garanti ediyor: örneğin, yarışmalarda ve eğitimlerde görevlerin tüm koşulları belirtildiğinden, Olimpiyat katılımcılarının yazılı İngilizce seviyesi otomatik olarak yüksek bir seviyeye yükseliyor İngilizce. Ayrıca, özel eğitim literatürünün çoğunun yalnızca bu dilde bulunabileceğini belirten ICPC madalyası sahibi omuz silkiyor.

Şampiyonalara katılmakla şirketlerde çalışmak aynı şey değil. Spor programcılığından bahsediyorsak amacınız sorunu çözmek ve mümkün olduğunca çabuk bir program yazmaktır. Ve bir şirkette çalışırken bir uzmanın hedefi değiştirilebilecek bir yazılım geliştirmektir. Bazen bir programı parçalara "kesmek" ve "parçalardan" birini geri kalanına dokunmadan değiştirmek gerekir, bu nedenle bir programcının çalışmasındaki en önemli şey pratik beceridir. Leonov, bunu üniversitede edinmenin zor olduğunu söylüyor. Üstelik pozisyon ne kadar yüksek olursa, o kadar fazla ek beceri gerekir.

Leonov yedi yıldır St. Petersburg'da JetBrains için çalışıyor. 1999 yılında Prag'da Rus programcılar Sergey Dmitriev, Evgeny Belyaev ve Valentin Kipyatkov tarafından kurulan JetBrains, BT uzmanları için yazılım geliştiriyor. Şirketin artık Prag ve St. Petersburg'un yanı sıra Moskova, Münih, Boston ve Novosibirsk'te de ofisleri bulunuyor. Leonov, JetBrains'te bir iş buldu; şirket çalışanlarından iletişim bilgilerini istedi ve özgeçmişini gönderdi.

Leonov gülümsüyor: "Bir öğrenci Dünya Şampiyonası finallerine ulaştıysa, o zaman büyük olasılıkla bu yeteneğe sahiptir ve genç programcı pozisyonu için bir röportajı kolayca geçecektir," diye gülümsüyor.

Artık ICPC finalisti, programcılar için olmasa da araçlar geliştiriyor. Kimin için - Leonov, şirketin iç kurallarını öne sürerek cevap vermeyi reddetti. Yılda birkaç kez Google, Facebook, Mail.Ru Group vb. Tarafından düzenlenen bireysel programlama yarışmalarına katılıyor. Eleme aşamaları internet üzerinden yapılıyor ve finalistler dünyanın farklı şehirlerindeki final aşamasına davet ediliyor. Leonov, "Elbette finallere katılmıyorum çünkü kendim için daha fazlasını yapıyorum" diye itiraf ediyor.

Google Çekirdeği

Petr Mitrichev matematiğe olan tutkusunu kendisi de programlamayla ilgilenen ağabeyinden aldı. Kimyagerlik eğitimi alan annem, Peter'a matematik üzerine kitaplar satın aldı. Evde bilgisayar olmadığında, Mitrichev Jr. programlamayla ilgili literatürü okudu ve erkek kardeşiyle birlikte bilgisayar çemberinde çalıştıkları Çocuk ve Gençlik Yaratıcılık Merkezi'ne gitti. Yedi yaşında 827 numaralı bölge okuluna girdi ve 14 yaşında Moskova'daki 57 numaralı okulun özel sınıfına geçti ve ardından Moskova Devlet Üniversitesi Mekanik ve Matematik Fakültesi'ne başvurdu.

Okulda bir bilgisayar bilimi öğretmeni Mitrichev'in programlama alanında Moskova'nın Kuzeybatı Bölgesi Olimpiyatlarına katılmasını önerdi. Mitrichev, "Bu sisteme bir kez girdiğinizde diğer Olimpiyatlara katılmak daha kolay" diye anımsıyor. Ayrıca okul çocukları için Tüm Rusya Olimpiyatlarına katıldı ve birkaç kez farklı şehirlerdeki iki haftalık eğitim kamplarına gitti ve burada diğer şeylerin yanı sıra gelecekteki ICPC katılımcılarını da eğitti.


Petr Mitrichev her hafta çevrimiçi programlama yarışmalarına katılıyor. ICPC'yi kazandıktan sonra bu onun hobisi haline geldi. (Fotoğraf: RBC'den Askhat Bardinov)

Petersburg Devlet Üniversitesi ve ITMO öğrencilerinin aksine Mitrichev ve Mekanik ve Matematik Fakültesi'ndeki sınıf arkadaşlarının tek koçu yoktu. Eski ICPC katılımcıları gayri resmi mentor olarak görev yaptı ve deneyimlerini hem çevrimiçi hem de toplantılarda paylaştılar. Moskova Devlet Üniversitesi Mekanik ve Matematik Fakültesi Hesaplamalı Yöntemler Laboratuvarı'nın önde gelen araştırmacısı Evgeny Pankratiev yarışmaya katılmaya yardımcı oldu: geziler düzenledi ve evrak işlerine yardımcı oldu. Mitrichev, ICPC finaline iki kez ulaştı - 2003'te ABD'de ve 2005'te Çin'de, sırasıyla birinci ve üçüncü yıllarındaydı. Her iki seferde de takımlarda ikinci sırada yer aldı.

Mitrichev okurken bazen yarı zamanlı çalıştı ancak tam zamanlı bir iş aramadı. Kendisi, ICPC'yi kazanmanın potansiyel bir işverenden ilgi çekici bir teklif alma konusunda %100 garanti vermediğinden emin. Mitrichev gülümsüyor: "ICPC, profesyonel bir oyuncu ile iyi bir işveren şirketi arasında sosyal bir iletişim aracı olarak hizmet ediyor." Yarışmalar size iyi programlamayı öğretir, ardından uzmanlık alanınızdaki herhangi bir çalışma yetenekleriniz dahilinde hale gelir, diyor. Ancak olimpiyatlarda hızlı ve hatasız programlama yapmak önemlidir ve işinize zaman ayırabilirsiniz. Aynı zamanda şunu da itiraf ediyor: Hızlı ve hatasız kod yazma yeteneği, işi birkaç kez yeniden yapmanıza gerek olmadığı anlamına gelir.

ICPC finalistleri, büyük şirketler içinde benzer yarışmaların düzenlenmesinde veya analizlerde (örneğin hisse senedi alım satımı) yer alabilirler. Mitrichev üniversiteden mezun olduktan sonra ikinci seçeneği kendisi için değerlendirdi. "Orada daha kısa sürede yaşlılığınız için para kazanabilirsiniz" diye itiraf ediyor.

Ancak Mitrichev 2007'den beri Google'da çalışıyor - önce Moskova ofisinde ve 2015'ten beri İsviçre ofisinde. Programcı, dünyanın en büyük BT şirketlerinden biriyle röportaj sırasında Mitrichev'in ICPC finallerinde karşılaşılan sorunlara benzer sorunları çözmek zorunda kaldığını hatırlıyor. Doğru, şu anda Google web sitesinin arama motoru üzerinde çalışıyor ve bu çalışma daha çok Mitrichev'in üniversitede okuduğu olasılık teorisiyle ilgili. Yarışmalar sırasında elde edilen hız, örneğin bir programın prototipini oluşturmanız ve çalışıp çalışmadığını anlamanız gerektiğinde yardımcı olur.

Mitrichev artık Google'ın kendi programlama yarışmalarını (Google Code Jam) düzenlemesine yardımcı oluyor ve meslektaşlarıyla birlikte turnuvalar için görevler buluyor. Mitrichev bu yarışmaya iki kez katıldı ve 2005'te üçüncü, 2006'da ise birinci oldu. Programcı, VKontakte, Facebook ve Yandex temsilcileriyle olası işbirliğini tartıştığını itiraf ediyor, ancak artık ona Google'ın en iyi seçenek olduğu anlaşılıyor, "çünkü şirket ilginç sorunları çözüyor ve çalışanları, birlikte olmanın keyifli olduğu akıllı insanlar" iş" .

ICPC'den sonra Mitrichev haftalık olarak çevrimiçi yarışmalara katılıyor. Ona göre bazı problemleri çözmek için yeniden öğrenmesi gerekiyor: "Yeni nesil için bu açıdan daha kolay: modern programlama yöntemlerini hemen öğreniyorlar." Şimdi Mitrichev, 2001'den beri spor programlama yarışmaları düzenleyen Amerikan şirketi Topcoder.com'un önde gelen derecelendirmelerinden birine başkanlık ediyor.

Hiçbir zaman çok fazla zafer olmaz! Her bir sonraki bir öncekinden daha tatlı. St. Petersburg Bilgi Teknolojileri, Mekanik ve Optik Üniversitesi ekibi, 2017 ACM ICPC Dünya Programlama Şampiyonası'nın ana kupasını kazandı. Bu, ITMO'nun genç programcılara yönelik en prestijli entelektüel turnuvadaki yedinci zaferi.

En güçlünün savaşı

Yüzü aşkın ülkeden en iyi öğrenci programcıların katıldığı yarışma 20 Mayıs'ta ABD'nin Güney Dakota eyaletindeki Rapid City'de başladı. Yarışmaya 13'ü Rusya'yı, üçü St. Petersburg'u temsil eden 128 takım katıldı. Finali sadece takımlar değil, canlı yayını izleyen taraftarlar da heyecanla bekliyordu. Dünya şampiyonu olabilmek için genç programcıların kendilerine verilen 12 problemden mümkün olduğunca çoğunu doğru çözmeleri gerekiyordu.

Savaşın zor olduğu ortaya çıktı. Takımlar kelimenin tam anlamıyla birbirlerinin topuklarına bastılar. 40 dakikalık mücadelenin ardından geleceğin şampiyonları yalnızca üç problemi çözdüler ve sıralamada yalnızca dokuzuncu sırada yer aldılar. Ama inandılar. HAYIR. Daha iyisini ve daha hızlı yapabileceklerini biliyorlardı. 20 dakika daha geçtikten sonra ITMO ekibi zaten beş sorunu çözmüş ve tüm rakiplerini geride bırakmıştı. Sekiz görevden sonra lider değişti. Ancak dokuzuncu, St. Petersburg takımını yine birinci sıraya geri getirdi. On problem çözüldükten sonra ekipler sonuçların beklentisiyle dondu.


Sonuçları bekliyorum. Fotoğraf: ITMO Üniversitesi "VKontakte" CT Bölümü

Yedi kez şampiyon

ACM ACPC-2017 spor programcılığındaki öğrenci şampiyonasının sonuçları yeni öğrenildi. ITMO Üniversitesi takımı altı galibiyetine bir yenisini daha ekleyerek birinci olurken, müjdeli haber Moskova saatiyle 01.36'da üniversitenin resmi sosyal ağ sayfasından duyuruldu.

ITMO Üniversitesi programcıları dünya rekorunu doğruladılar ve programcılar arasındaki en prestijli öğrenci turnuvasının kazanan kupası yeniden St. Petersburg'a gidiyor.

Üniversite ekibi, en az zaman harcayarak 12 problemden 10'unu doğru çözmeyi başardı. ITMO basın servisinin bildirdiğine göre, takımın yedinci ACM ICPC Kupasını garantileyen şey, sorunları çözmek için geçen süre ve bunları geçmek için yapılan başarısız denemelerin sayısının azalmasıydı.

İşte buradalar, kahramanlar!

ITMO Üniversitesi'nin ACM ICPC'de 12 problemden 10'unu tüm rakiplerden daha hızlı ve daha yetkin bir şekilde çözerek yedinci zaferi, Bilgisayar Teknolojileri Bölümü öğrencileri Ivan Belonogov, Ilya Zban ve Vladimir Smykalov tarafından getirildi. Kazanan takımın baş antrenörü, Bilgisayar Teknolojisi Bölümü Doçenti, Teknik Bilimler Adayı Andrey Stankevich'tir.




Makaleyi beğendin mi? Arkadaşlarınızla paylaşın!