Yığın Değişimi soru başlıklarını programlara benzetme


20

Stack Exchange'in şu anda 134 soru ve cevap sitesi var . Bu, tüm ana siteleri (PPCG gibi) içerir, ancak Alan 51 tekliflerini veya "ana meta" dışında herhangi bir meta siteyi içermez .

Bu soruyu cevaplamak için bu sitelerden birini seçin ve her kod satırının o sitedeki farklı bir sorunun başlığının anagramı olduğu bir program yazın . Bu siteden gelen sorular, silinmedikleri ve bu sorudan önce sorulduğu sürece kullanılabilir .

Bir sorunun başlığı, bir sorunun altındaki bağlantı tıklandığında metin kutusu içinde görünen tüm karakterleri içerir ; bunlar boşluk, mathjax biçimlendirme , çılgın Unicode karakterler, her neyse. ( Bir kerede bir grup soru başlığını sorgulamak istiyorsanız Stack Exchange API'sını kullanabilirsiniz .)Titleedit

Yazdığınız program, her Stack Exchange sayfasının üstünde güvenilir bir şekilde görüntülenen dizeyi çıkarmalıdır:

Questions Tags Users Badges Unanswered Ask Question

Bu tam metin ve isteğe bağlı bir son satır, programınızın çıktısı gereken tek şeydir. Hiçbir girdi yok. Çıktı stdout'a veya mümkün değilse benzer bir alternatife gitmelidir.

Bunu sadece soru başlıkları anagramlarıyla yapmak biraz zor olabileceğinden, isteğe bağlı olarak herhangi bir sütuna programınızdaki her satıra istediğiniz bir karakteri ekleyebilirsiniz . Tüm satırların fazladan bir karaktere sahip olması gerekmez ve satırlar arasında aynı karakter olması gerekmez. Karakter, bir satır sonlandırıcı dışında herhangi bir şey olabilir . Satırdaki karakterler eksi bu yeni karakter hala soru başlığının mükemmel bir anagramı olmalıdır.

puanlama

Puanınız (number of lines with no added character) + 2 * (number of lines with an added character). En düşük puan kazanır. Bağlar olması durumunda önceki cevap kazanır.

ayrıntılar

  • Başlıkları kullandığınız tüm soruların bağlantılarını sağlamalısınız.

  • Kullanılmayan siteleri seçmeniz için teşvik edilmekle birlikte, aynı çeşitlilikteki Stack Exchange sitesini başka biriyle seçebilirsiniz.

  • Kullandığınız bir soru kazanan seçilmeden silinirse, başvurunuz geçersiz olur, bu nedenle iyi kurulmuş soruları seçmek en iyisidir.

  • Bazı sorularınızda başlıklar düzenlenmişse, düzenleme geçmişi, yanıtınızı gönderirken başlıklarınızın doğru olduğunu gösterdiği sürece gönderiminiz yine de geçerlidir.

  • Programınızdaki yorumlar iyidir.

  • Soru başlıklarını ihtiyaçlarınıza göre düzenlemek çok kötü bir formdur.


1
Tırnak bulmak zor ...
Doktor

Yanıtlar:


9

Python 2, skor = 2

print '''               &''(()),..===>>?''HHIMMMMPPaaaaabccdddeeeeeeeeeegggimmmmnnnnnoooooprrrrsstwyy''' and 'questions tags users \
badges unanswered ask question'.title() or '             $.?IIWaaabbccccccceeefghhhhhhiijjkklllllmmnnnoooprrrstttttttuxyyz'

Tek bir çizgide tam olarak alamadım, bu yüzden ikide oldukça basit bir çözüm.

Stack Overflow ile ilgili soruları en uzun 50.000 başlıkta regexing yaparak buldum:

İşte bunun için giden herkes için bir astarda en iyi girişimim (kullanmaktan çekinmeyin):

print "questions tags users badges unanswered ask question".title() or AHHRUaacccceeeeeeeeeffghikkllmnnnooooooorrrrrrrtwwwy

Uzak bir web sayfasındaki bir bağlantıyı tıklayan bir yönlendirenin benzersizliğini nasıl garanti edersiniz ("Request.UserHostAddress" düzgün çalışmıyor)?


10

Golfscript, eklenmiş karakter içermeyen 3 satır

"Questions Tags Users Badge"'exception SLSATE[HY000][1049]eymfny incnue while pn chma afte intallin FOSBundl'or
"s Unanswered Ask "'Reoccurring error The current idetity(NT THORITY\NETWORK SERVICE)oe ot have it cc toC:\WINDOWS\Microsoft.NET\Framewor\v2.0.50727\Tempary ASP.NET Files'or
"Question""D he 'S'  SL stand f standard or strctured?"or

Muhtemelen en (yararlı) gönderilere sahip olduğu için StackOverflow'u vurdum. JQuery ve SQL'de birçok Q bulunabilir.

Kaynakça:

Her satırda iki dize kullanır ve ilki ile birlikte alır or. Uygun bir Golfscript bilmiyorum, ama burada test ettim .

Gerekli alıntıları iki satırda almak mümkündür, ancak karakterleri dökmenizi sağlayan bir dile ihtiyacınız olacaktır.


1
Bir satır (veya kullanımı :o\"s Unanswered Ask "o) kaldırıldı .
jimmy23013

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.