Bu interaktif bir problemdir
Tainted Chocolate oyununun merkezi parçası, kenarlarına paralel oluklardan oluşan dikdörtgen bir ızgara ile kare parçalara bölünmüş klasik bir çikolata barıdır. Bazı kareler, onları (neredeyse) yenilemez hale getiren son derece acı bir maddeyle bulaştırılmıştır.
Oyun, sırayla hamle yapan iki oyuncu tarafından oynanır. Her hamlede, bir oyuncu çikolata barının bir bölümünü yemelidir: mevcut barı oluklardan biri boyunca iki küçük bara böler ve bunlardan birini yer. Bulaşmış en az bir kare içeren bir parçayı yiyen oyuncu oyunu kaybeder.
Tüm bulaşmış karelerin konumları oyunun başında bilinir; diğer tüm karelerin yenmesi güvenlidir. Her oyuncu, bulaşmış kareler içeren bir parçayı yemekten kaçınmaya çalışır çünkü bu gerçekleştiğinde oyuncu istemsizce en tiksinmiş yüz ifadesini takınır ve bu durum sadece rakibini değil izleyicileri de büyük ölçüde eğlendirir.
Bu problemde, Tainted Chocolate oyununu oynayan bir program yazmanız istenmektedir. Oyuncuların yüz ifadelerini ve çikolata tüketimini simüle eden kod kısmını atlıyoruz ve yalnızca kazanan hamlelere odaklanıyoruz.
Bir hamle, bir yön dizesi ve pozitif bir tamsayısı ile tanımlanır. Yön dizesi şunlardan biridir: "top", "bottom", "left" veya "right". Böyle bir hamle, mevcut barın belirtilen taraftan sayılan -inci oluk boyunca bölündüğü ve oyuncunun o taraftaki parçayı yediği anlamına gelir.
İlk satır üç tamsayı içerir: , ve k~(1 \le r, c \le 10^4, 1 \le k \le 100) — sırasıyla satır sayısı, sütun sayısı ve bulaşmış kare sayısı. Sonraki satırın her biri iki tamsayı içerir: ve b~(1 \le a \le r, 1 \le b \le c) — bulaşmış bir karenin satırı ve sütunu. Sol üst kare koordinatlarına sahiptir.
Girdinin geri kalanı çıktınıza bağlıdır. "pass" yazınızın ardından (varsa) ve her hamlenizin ardından, rakibinizin hamlesini veya rakibinizin oyunu kaybettiği anlamına gelen "yuck!" dizesini içeren bir satır alacaksınız. İkinci durumda, programınız sonlanmalıdır.
Barın açıklamasını okuduktan sonra, önce hamle yapıp yapmayacağınıza karar verebilirsiniz. İkinci hamleyi yapmak isterseniz, "pass" dizesini içeren tek bir satır yazdırın. Bu dize yalnızca çıktınızın ilk satırında görünebilir.
Akabinde, her hamleniz için geçerli bir hamle açıklaması içeren bir satır yazdırın. Programınız, kazanmaya götüren geçerli bir hamle dizisi dışında bir şey çıktılarsa Wrong Answer alacaktır.
Her hamleyi yazdırdıktan sonra, çıktı arabelleğini temizleyin; örneğin C++'ta fflush(stdout) veya cout.flush(), Java'da System.out.flush() veya Python'da stdout.flush() kullanarak.
Örnek 1
Örnek 2