İçeriğe atla
CodeItRaw

Her sektör bir kavram. Kodunu yaz, çalıştır, geri sar ve satır satır ne olduğunu gör. Ezber çözümler gizli testlerde yakalanır.

0/51 sektör

1

Veri Tipleri & Koşullar

Temel yol · bot komutları0/5 tamamlandı
  1. 1.1Kolay

    Önyükleme

    Botu hedef kareye götür. Bot sağa bakarak başlıyor; bot.move() onu baktığı yöne bir kare ilerletir.

  2. Kilitli
    1.2Kolay

    Keskin Viraj

    Kıvrılan koridorun sonundaki hedefe ulaş. bot.turn_left() ve bot.turn_right() botu yerinde 90° döndürür; dönmek de bir adım sayılır.

  3. Kilitli
    1.3Kolay

    Çatal

    Hedefe ulaş. Koridorun sonunda yol ya yukarı ya aşağı dönüyor ve yön her testte değişiyor. radar.front_blocked() önünde duvar varsa True döndürür.

  4. Kilitli
    1.4Kolay

    Güvenlik Kapısı

    Kapıyı doğru kodla aç ve hedefe ulaş. radar.read() kapının sensöründeki sayıyı (int) okur. Sayı 30'dan küçükse "LOW", 70'ten küçükse "MID", değilse "HIGH" kodunu bot.send(...) ile gönder. Yanlış kod alarmı tetikler.

  5. Kilitli
    1.5Kolay

    İki Kapı

    Koridorda arka arkaya iki güvenlik kapısı var ve her birinin sensörü farklı bir sayı gösteriyor. Aynı kontrolü iki kez yazmak yerine bir fonksiyon yaz ve iki kapıda da çağır. Kurallar aynı: 30'dan küçükse "LOW", 70'ten küçükse "MID", değilse "HIGH".

2

Döngüler

Temel yol · bot komutları0/7 tamamlandı
  1. 2.1Kolay

    Uzun Koridor

    Uzun koridorun sonundaki hedefe ulaş. Kodun en fazla 8 satır olabilir. for i in range(n): bloğunun içindeki satırlar n kez tekrarlanır.

  2. Kilitli
    2.2Kolay

    Bilinmeyen Mesafe

    Hedefe ulaş. Hedef her testte farklı bir yerde, bu yüzden kaç adım atacağını bilemezsin. bot.at_target() hedefte olup olmadığını söyler; while döngüsü koşul doğru olduğu sürece tekrarlar.

  3. Kilitli
    2.3Kolay

    Veri Labirenti

    Her testte yeni üretilen labirentten çık ve hedefe ulaş. Yeni sensörler: radar.left_blocked() ve radar.right_blocked() sol ve sağ taraf duvarsa True döndürür.

  4. Kilitli
    2.4Kolay

    Drone Devriyesi

    Drone'lara çarpmadan hedefe ulaş. Drone'lar koridoru dikine kesiyor. radar.danger_ahead() bir adım atarsan drone'a çarpıp çarpmayacağını söyler; bot.wait() bir tur bekler. Enerji sınırlı: ilerlemek 1, beklemek 0.5 enerji harcar.

  5. Kilitli
    2.5Kolay

    Lazer Ritmi

    Lazerlere yakalanmadan hedefe ulaş. Koridorda üç lazer farklı ritimlerle yanıp sönüyor; ışın açıkken hücreye giren ya da ışın açıldığında içinde duran bot yanar. radar.danger_ahead() bir adım atarsan tehlikeye girip girmeyeceğini söyler, bot.wait() bir tur bekler.

  6. Kilitli
    2.6Kolay

    Sarmal

    Koridor içe doğru kıvrılan bir sarmal ve hedef en içte. Kaç adım atacağını sayma: önün açıksa ilerle, kapalıysa dön. Sarmalın yönü her testte değişiyor; hangi yana döneceğini radar.left_blocked() söyler.

  7. Kilitli
    2.7Kolay

    Kör Dönemeç

    Koridor köşeden aşağı dönüyor ve iki drone yolu kesiyor: biri düz kısımda, biri dönemeçten sonra. Üç şeyi birlikte yönet: önün kapalıysa dön, tehlike varsa bekle, yoksa ilerle.

3

Diziler & Arama

Gerçek kod · fonksiyonlar0/3 tamamlandı
  1. ??17??5??91????
    3.1Orta

    Tepe Değer

    Listedeki en büyük değeri döndür. Artık botu yürütmüyorsun: solve(values) bir liste alır ve cevabı döndürür.

  2. ??19??34??55????
    Kilitli
    3.2Orta

    Anahtar Avı

    values içinde key değerinin indeksini döndür. Değerler birbirinden farklı ve karışık sırada; gizli testlerde liste 800 elemana kadar büyür.

  3. ??19??34??55????
    Kilitli
    3.3Orta

    İkili Arama

    values küçükten büyüğe sıralı ve değerler farklı. key'in indeksini döndür. Okuma bütçen en fazla ⌊log₂ n⌋ + 2: n = 4096 için yalnızca 14 okuma.

4

Veri Yapıları & Algoritmalar

Gerçek kod · fonksiyonlar0/2 tamamlandı
  1. {[()()]}([])
    4.1Orta

    Parantez Kulesi

    Paketlerdeki parantezler dengeliyse True, değilse False döndür: her açılan parantez doğru türle ve doğru sırayla kapanmalı. packets bir iterator: for ch in packets: ile sırayla gezilir, geri dönülemez.

  2. Kilitli
    4.2Orta

    En Kısa Rota

    Başlangıçtan hedefe en kısa rotayı döndür. Labirentte döngüler var ve enerjin yalnızca en kısa yola yetiyor. Rota N/E/S/W harflerinden oluşan bir metin, ör. "EESSW"; bot döndürdüğün rotayı yürür.

5

Sayaçlar & Tarama

Temel yol · bot komutları0/9 tamamlandı
  1. 5.1Orta

    İlk Çip

    Yeni kural: sahada veri çipi varken hedef sayılmaz. Çipin üstüne gelince bot onu alır. Çip hedefin ilerisinde ve yeri her testte değişiyor. bot.chips_left() toplanmamış çip sayısını verir.

  2. Kilitli
    5.2Orta

    Sayarak Dön

    Ana koridorun ortasında bir kavşak var; çip güneydeki kolda, ama kaç adım içeride olduğu her testte değişiyor. Kolun kuzeyi de açık, o yüzden geri dönerken "duvara kadar yürü" işe yaramaz. İçeri girerken attığın adımları bir sayaçta tut, dönüşte tam o kadar adım at.

  3. Kilitli
    5.3Orta

    Nişler

    Koridorun üst duvarında nişler var; bazılarında çip duruyor, hangilerinde olduğu her testte değişiyor. Her karede sola dönüp bak: radar.scan() önündeki şeyi söyler ve çip görürse "chip" döndürür. Çip varsa gir, al, geri çık.

  4. Kilitli
    5.4Orta

    Oda Taraması

    Çipler odanın içine saçılmış ve yerleri her testte farklı. Hiçbirini kaçırmamanın yolu odayı baştan sona taramak: bir satırı yürü, duvara gelince bir alt satıra in ve ters yöne yürü.

  5. Kilitli
    5.5Zor

    Çip ve Devriye

    İki drone koridoru kesiyor, çiplerden biri hedefin ilerisinde. Hem gidişte hem dönüşte aynı dikkat gerekiyor: "tehlike varsa bekle, yoksa ilerle" kuralını bir fonksiyona koy ve iki döngüde de kullan.

  6. Kilitli
    5.6Zor

    Haritayı Oku

    Enerjin odayı baştan sona taramaya yetmiyor. radar.map() haritayı satır satır verir: "#" duvar, "C" çip, "T" hedef; grid[y][x] ile okunur. Çiplerin yerini haritadan bul ve doğrudan onlara git. bot.position() botun (x, y) konumunu, bot.face("E") baktığı yönü ayarlar ("N", "E", "S", "W").

  7. Kilitli
    5.7Zor

    En Yakın Çip

    Aynı oda, daha az enerji. Çipleri haritadaki sırayla toplamak artık yetmiyor: her seferinde en yakındaki çipe git. İki hücre arasındaki uzaklık abs(x1 - x2) + abs(y1 - y2).

  8. Kilitli
    5.8Zor

    Kısıtlı Batarya

    Koridorun iki yanında on niş var, çipler bunların üçünde ve yerleri her testte değişiyor. Bataryan yalnızca dolu nişlere girip çıkmaya yetiyor: boş bir nişe girersen hedefe varamazsın. Bu kez önüne bakamazsın; radar.map() haritasında çipler "C" olarak yazılı. Her karede üstündeki ve altındaki hücreyi haritadan oku.

  9. Kilitli
    5.9Zor

    Boss · Kasa Dairesi

    Çipler bir labirentin içine dağılmış ve enerjin sınırlı. Kuş uçuşu en yakın çip artık en yakın değil: araya duvar girebilir. Her seferinde yürüyerek en yakın çipi bul (BFS), ona git, sonra hedefe yürü.

6

Durum & Graf Arama

Temel yol · bot komutları0/9 tamamlandı
  1. 6.1Zor

    Anahtar

    Hedefin önünde kilitli bir kapı var; anahtar ise arkanda, koridorun başka bir yerinde. Anahtarın üstüne gelince bot onu alır ve o renkteki kapılar açılır. bot.has_key("red") kırmızı anahtar sende mi diye söyler. Anahtarın yeri her testte değişiyor.

  2. Kilitli
    6.2Zor

    Hangi Kapı?

    Hedefe iki yoldan gidilir: soldaki kapı kırmızı, sağdaki mavi. Önündeki anahtar bunlardan yalnızca birini açar ve rengi her testte değişiyor. Anahtarı al, rengine bak, yolunu ona göre seç.

  3. Kilitli
    6.3Zor

    Işınlayıcı

    İki oda arasında kapı yok, yalnızca bir ışınlayıcı çifti var: birine adım atan bot diğerinde belirir. Çıkış noktası her testte değişiyor, o yüzden vardığında hedefin hangi yanda kaldığını bulman gerek. radar.scan() ışınlayıcıyı "portal" olarak görür; radar.map() satırında hedef "T" olarak yazılıdır.

  4. Kilitli
    6.4Zor

    Kilit ve Devriye

    Anahtar arkanda, kapı önünde ve iki drone koridoru kesiyor. Anahtara giderken de dönerken de çarpışmadan geçmelisin.

  5. Kilitli
    6.5Zor

    Kapının Anahtarı

    Oda bir duvarla ikiye bölünmüş; duvardaki tek geçit kilitli bir kapı. Anahtarın yeri ve rengi her testte değişiyor. radar.map() haritasında anahtarlar küçük harfle ("r", "b", "g"), kapalı kapılar büyük harfle ("R", "B", "G") yazılır. Anahtarı bul, al, kapıdan geç, hedefe yürü.

  6. Kilitli
    6.6Zor

    Işın Ağı

    Üç oda, aralarında duvar; odaları yalnızca ışınlayıcılar bağlıyor. Haritada bir çiftin iki ucu aynı rakamla yazılır ("1", "2"). Hedefe varana kadar, bulunduğun odadaki henüz kullanmadığın ışınlayıcıya yürü. Işınlayıcıların yeri her testte değişiyor.

  7. Kilitli
    6.7Zor

    Dönüş Bileti

    Kapının anahtarı duvarın öbür yanındaki kapalı odada; oraya yalnızca ışınlayıcıyla girilir ve çıkış da aynı ışınlayıcıdan. Işınlayıcının iki ucu, anahtarın yeri ve rengi her testte değişiyor. Vardığın kareyi aklında tut: anahtarı alınca aynı kareye geri yürü, ışınlayıcı seni koridora geri bırakır. Haritada ışınlayıcı "1", anahtar küçük harf ("r", "b", "g").

  8. Kilitli
    6.8Zor

    Zincir

    Üç oda, iki kilitli kapı. Her kapının anahtarı o kapıdan önceki odada; renkler ve yerler her testte değişiyor, bazen hiçbir kapıya uymayan fazladan bir anahtar da var. Kapıları batıdan doğuya sırayla aç: sıradaki kapının rengine bak, o renkteki anahtarı bul, al, kapıdan geç. Haritada kapalı kapı büyük harf, anahtarı aynı harfin küçüğü.

  9. Kilitli
    6.9Zor

    Boss · Kilitli Kat

    Üç oda, iki kilitli kapı; anahtarlar, kapı renkleri ve bazen bir ışınlayıcı her testte başka yerde. Bir kapı ancak anahtarı aldıktan sonra geçilir, yani "neredeyim" yetmez: "neredeyim ve elimde hangi anahtarlar var" birlikte bir durumdur. BFS'i bu durumlar üzerinde çalıştır.

7

Saha Görevleri

Temel yol · bot komutları0/16 tamamlandı
  1. 7.1Kolay

    Git Gel

    Çip koridorun doğu ucunda, hedef ise arkanda. Çipi al, olduğun yerde geri dön ve hedefe yürü. Geri dönmek için ayrı bir komut yok: aynı yöne iki kez dönmek yeter.

  2. Kilitli
    7.2Kolay

    Merdiven

    Beş basamaklı bir merdiven: her basamak aynı dört komut. Komutları beş kez yazmak satır sınırını aşar; deseni bir kez yaz, döngü tekrarlasın.

  3. Kilitli
    7.3Kolay

    Rota Bandı

    Rota sana hazır verildi: "EEENNEEESSSEENNNEE". Her harf bir adımın yönü. Dönüş komutların yok; bot.face("N") yüzünü doğrudan o yöne çevirir. Metnin harflerini sırayla dolaş ve her biri için yüzünü çevirip bir adım at.

  4. Kilitli
    7.4Kolay

    Bir Adım Ötesi

    Hedefin kaç adım ötede olduğu her testte değişiyor ve bu kez bot.at_target() yok. Elinde yalnızca radar.scan() var: önündeki hücrede ne olduğunu söyler ("empty", "wall", "target"). Hedefi gördüğün an durursan bir adım eksik kalırsın.

  5. Kilitli
    7.5Kolay

    Tam Sınırda

    Kapının sensörü hep sınırın dibinde okuyor: 49 ya da 50. Kural: okunan değer 50'den küçükse "COLD", 50 ya da daha büyükse "HOT" gönder. < ile <= arasındaki fark tam burada ortaya çıkar.

  6. Kilitli
    7.6Kolay

    Kare Tur

    Hedef hemen arkanda, ama üç köşedeki çipleri almadan bölüm bitmez: binanın çevresini dolaşman gerek. Döngünün içinde döngü kur: içteki duvara kadar yürüsün, dıştaki her duvarda sağa dönüp yeniden başlatsın.

  7. Kilitli
    7.7Orta

    Geri Sayım

    İçe doğru kıvrılan bir koridor: kenarlar 5, 4, 3, 2 ve 1 adım, her birinin sonunda sağa dönüş. Sensörün yok. Döngü değişkeninin kendisini adım sayısı olarak kullan: range geriye doğru da sayabilir.

  8. Kilitli
    7.8Orta

    Kapı Dizisi

    Koridorda art arda kapılar var. Her kapıda kural aynı: sensör 50'den küçükse "LOW", değilse "HIGH". Önünde kapı yokken radar.read() bir sayı değil None döner; onu sayıyla karşılaştırmak hata verir. Hedefe kadar tek bir döngü yaz.

  9. Kilitli
    7.9Orta

    Tarak

    Koridordan kuzeye üç çıkmaz ayrılıyor: derinlikleri sırayla 2, 4 ve 3 hücre, her birinin dibinde bir çip. Çıkmazlar arasında üçer adım var. Sensörün yok ve satır sınırı dar: derinliği parametre alan bir fonksiyon yaz ve onu bir listenin her elemanı için çağır.

  10. Kilitli
    7.10Orta

    Sıkıştırılmış Emirler

    Rota bu kez sıkıştırılmış geldi: "3E2N3E3S2E3N2E". Çiftler hâlinde oku: önce adım sayısı, sonra yön (3E = doğuya üç adım). İkişer ikişer ilerleyen bir indeksle metni gez; rakamı int(...) ile sayıya çevir.

  11. Kilitli
    7.11Orta

    Kod Tablosu

    Bu kapıların beş kodu var: 0–19 ALFA, 20–39 BRAVO, 40–59 CHARLIE, 60–79 DELTA, 80–99 ECHO. Beş dallı bir if zinciri satır sınırına sığmaz. Kodları bir listeye koy ve doğru sırayı hesapla: her aralık 20 geniş.

  12. Kilitli
    7.12Orta

    El Yordamı

    Radarın bozuk: duvarı önceden göremezsin. Çarpmak artık ölümcül değil ama her çarpma 10 can götürür (100 canın var). Duvarı sonucundan anla: bot.move()'dan önce ve sonra bot.position() aynıysa yerinden kıpırdamamışsın demektir. Köşelerde hangi yana döneceğin testten teste değişir.

  13. Kilitli
    7.13Orta

    Pahalı Radar

    Enerjin 32 birim: her adım 1, her radar.front_blocked() sorusu 2 birim harcar. Yol beş koridordan oluşuyor ve hepsi aynı uzunlukta; köşelerde sırayla sola, sağa, sola, sağa dönülüyor. Her adımda radara sorarsan enerjin yetmez: bir kez ölç, sonucu bir değişkende sakla ve yeniden kullan.

  14. Kilitli
    7.14Zor

    Kâşif

    Haritan yok, labirent her testte değişiyor ve içinde halkalar var: duvarı izlemek seni aynı adanın çevresinde döndürebilir. Elindekiler bot.position(), bot.face(...), bot.move() ve radar.front_blocked(). Gittiğin hücreleri bir kümede tut; her hücreden dört yönü dene, görmediğin yere gir, çıkmazsa geldiğin adımı geri al.

  15. Kilitli
    7.15Zor

    En İyi Sıra

    Boş bir salon, birkaç çip ve tam 18 adımlık enerji. "Hep en yakın çipe git" kuralı burada enerjiyi bitiriyor: yakındaki çip seni hedeften uzaklaştırıp geri getiriyor. Çip sayısı az: bütün sıralamaları dene, her birinin toplam yolunu hesapla ve en kısasını yürü.

  16. Kilitli
    7.16Zor

    Kestirme

    İki oda arasında kapı yok: karşıya yalnızca ışınlanma pedleriyle geçilir. Haritada aynı rakamı taşıyan iki ped birbirine bağlıdır; birine basan diğerinde belirir. Enerjin en kısa yola ancak yetiyor ve en yakın ped her zaman doğru ped değil. Pedleri de birer kenar sayan bir BFS yaz: bir pede adım atmak seni eşinin üstüne koyar.