( bu gönderiye ve ardından yapılan sohbet tartışmalarına dayanarak - ayrıca, TIO için Dennis'e çok teşekkürler!)
Meydan okuma
TryItOnline sitesinde mevcut olan bir dili seçin , örneğin PowerShell . Çalıştır düğmesine tıklandığında, o sayfadaki çıktının , Kaydet / Mağazada "Düz URL" alanındakiyle aynı olduğu gibi , o sayfaya herhangi bir giriş yapmayan bir kod yazın. bunun yerine düğmesine tıklanır.
Hayali bir örnek için, bunun aaa
PowerShell'deki bir çözümün kodu olduğunu varsayalım . Ardından tıklayarak sonucu Çalıştır ile aaa
ilgili kod olarak https://tio.run/#powershell
gereken çıkış https://tio.run/##K8gvTy0qzkjNyfn/PzEx8f9/AA
yaparken de "Düz URL" alanına ise, Kaydet / Mağaza düğmesine tıklanır.
puanlama
Ortaya çıkan URL bu zorluğa senin teslimiyettir. Kazanan, bayt cinsinden ölçülen en kısa URL'dir. Yukarıdaki örnekte, URL https://tio.run/##K8gvTy0qzkjNyfn/PzEx8f9/AA
, 44 baytta mücadeleye gönderilen gönderimdir . Bu zorluğun gerisini yerine getiren en kısa URL, zoru kazanır ve kek puanları kazanır (puanlar ödenmez). Mümkün olan ayrı bir asgari uzunluk olduğu göz önüne alındığında, eğer iki başvuru uzunluğu birbirine bağlanırsa, önceki başvuru kazanır.
URL Üretimi
Bu , depodaki URL oluşturma algoritmasının başlangıcıdır. Ana kod alanının nasıl alındığını, herhangi bir fazladan elemanın eklendiğini, dizgenin söndüğünü ve Base64'ün nasıl dönüştürüldüğünü ve daha sonra hazırlandığını ##
vb. Görebilirsiniz. Burada tam olarak ayrıntıya girmeyeceğim; Zorluğun bir kısmı, söz konusu algoritmadaki potansiyel tuhaflıklardan yararlanmak için URL'lerin nasıl üretildiğini çözümlemek ve anlamaktır.
Kurallar / Açıklamalar
- Gerçek kod giriş yapmamalı ve çıktı olarak yalnızca quine-URL'yi üretmelidir.
- doldurulması gereken tek metin alanları URL içine tıklayarak bu araçlardırCode
,Header
,Footer
veya karşılık gelen "Derleyici Bayrak" alanları;Input
veArguments
alanlar yasaktır ve boş / kullanılmayan kalmalıdır. Çalıştır düğmesine tıklamak sadeceOutput
alanı değiştirmelidir . Bu zorluk için,Debug
alan tüm durumlarda göz ardı edilir. - Her zamanki quine kuralları, kod için mümkün olduğu kadar geçerlidir (örneğin, kod kendi kaynak kodunu üzerinden okuyamaz
.code.tio
). - Lütfen gönderiminizde kodun nasıl çalıştığına dair bir açıklama ekleyin.
- Bir "hile" URL'si veya kısayol veya benzeri bir şey oluşturmak için TIO deposuna Git çekme isteği göndererek "hileli" bir quine gönderme yapılmasına izin verilmez.
- Benzer şekilde, bir "numara" URL üretmek için belirli bir dili güncellemek için bir çekme isteği gönderilmesine izin verilmez.
- Lütfen Dennis'in sunucularına nazik davranın ve onları kötüye kullanmayın ya da bu zorluğun uğruna istismarlar yapmayın.
https://tio.run/##a+a
o çıkışları bir programa hangi bağlantılara https://tio.run/##a+a
, hatta tarafından oluşturulan bağlantıyı sert geçerlidir saveState
olurduhttps://tio.run/##a@a