Haberleri okumak çok sıkıcı. Bana yardım et!


22

Herkes haberlerin sıkıcı olduğunu biliyor. Gerçekten sıkıcı . Politikacılar ve skandallarıyla ilgili değilse. Bu eğlenceli! Fakat ne yazık ki, Politikacılar sadece çok fazla skandal işleyebilir. Bu yüzden haberleri daha ilginç hale getirmek için sizi istihdam ediyorum.

Amaç Bir HTML pasajı göz önüne alındığında, burada bulunan tüm ikameleri , yani bu resimde yapın:

AMA HTML etiketlerini kendileri düzenlememelisiniz. Herhangi bir HTML etiketinde bulunmayan herhangi bir kelimeyi veya niteliklerini geçerli bir kelime olarak adlandırıyorum. Olduğuna göre, yerini almamalıdır <div class="smartphone">iPhone</div>ile <div class="pokedex">iPhone</div>ancak değiştirmelisiniz <div>election</div>ile <div>eating contest</div>.

Ayrıştırma kuralları

  • EDIT Yalnızca kelime olmayan bir deyişle eşleştirilen sözcüklerle eşleşmelisiniz. Yani, sadece tam kelimelerle eşleşmelisin. (Örneğin, "Merhaba şahit" ile eşleşin, ancak "Hellowitness", "Hellow itness" veya "Tanık Seçimi" ile eşleşmeyin.
  • Klavyenizdeki karakteri yazamıyorsanız, en yakın eşdeğeri görüntülemelisiniz. (Örneğin, "Akıllı Telefon" gerçekten "Pokedex" olur)
  • İlk harf veya tüm harf davaları saklanmalıdır. (Örneğin, "İddiaya göre öldüler" olur "muhtemelen", onlar öldü "," İddiaya göre öldüler "olur" Muhtemelen öldüler "olur ve" SEÇİM! "" YEMEK YARIŞMA "olur," SpAcE "olur) "Spaaace" ve "NEW STUDY", "tumblr yazısı" olur)
  • Tüm davalar eşleştirilmelidir. (Yani, büyük harflerinden bağımsız olarak bir kelimeyle eşleşmelisin.)
  • Herhangi bir örneği olan a <vowel>olmalıdır karşılanmaktadır an <vowel>ve tam tersi . (Örneğin, "Bir senatör" "bir elf efendisi" olur). Bunu her seferinde yapmak zorunda değilsin, en azından kendi değişikliklerin için.
  • Herhangi bir çoğul, çeviride çoğulculuğu da elinde bulundurmalıdır (Örn, "Akıllı telefonlar" "pokedex" olur ve "Alanlar" "Spaaaces" olur)
  • Belli bir zamandaki herhangi bir şey, çevirinin bu zaman içinde kalmalıdır. (Örneğin, "Yeniden Yapılanma" "İntikam" olur, "Yeniden Yapılanmalar" "İntikam" vb.)
  • Tekildeki her şey çeviride tekil kalmalıdır (Örn, "Kongre lideri" "Nehir ruhu" olur)
  • Giriş birden fazla HTML öğesi içeriyorsa, yine de eşleştirmelisiniz, ancak ara öğeleri "atabilirsiniz". (Örneğin, S<b>pa</b>acebasitçe "spaaace" olmalı). Giriş, tek bir öğe içinde kendi kendine yetiyorsa, uygun şekilde eşleştirilmeli ve etiket korunmalıdır.
  • "Tanıklar" olmalı "Bildiğim o adamlar"
  • "tanık" "Bildiğim bu adam" olmalı
  • "Tanık", "Bildiğim adam" olmalı
  • “Yorum için ulaşılamadı” olmalı “Suçlu mu Herkes Herkes Biliyor”
  • "Yorum için ulaşılamıyor" olmalı "Suçlu ve herkes biliyor"

Bonuslar

Bir -N%bonusla karşılaşırsan, senin new amount = (old amount) * (1 - N/100). Öyleyse, -5%500 byte'lık bir bonusa sahipseniz , sizin new amount = 500 * (1 - 5/100) = 500 * .95 = 475.

  • % -5 bonus, ilk değişimden sonraki her "boşluk" örneği için, ek bir "a" eklenirse. Yani, ilk değişiklik "spaaace", ikincisi "spaaaace", üçüncü "spaaaaace", vb.
  • % -5 bonus, her geçerli numara için, bu numarayı ilgili XKCD çizgi romanına bir link ile değiştirirseniz. (Henüz var olmak zorunda değildir). Bu bonus için gitmek yoksa, sayıları gibi uymalıdır 500, 3,000, 4 523, ve 5.324. (Bunun yerine, çizgi roman resminin numarasını değiştirmeyi tercih edebilirsiniz. Bunu yaparsanız, bir -5%bonus yerine, bir -15% bonus.-15% Resme başlık metni ekleyebiliyorsanız resme .)
  • Görüntünün sağ tarafındaki tüm örnekleri soldakilerle aynı anda değiştirebiliyorsanız% -25 bonus. (Örneğin, "spaaace", "alan", "yemek yarışması", "seçim", vb. Olur.) (Örneğin, http://www.xkcd.com/542"542" ve "spaaaaaaaace" "boşluk" olmalıdır.)
  • En az 6 oyuncu değişikliği yapmayı seçebilirsiniz, ancak yapılan her oyuncu değişikliği için (bonus oyuncu değişikliği hariç),% + 10 ek ceza alırsınız.

Örnek IO'lar (bonus yok)

Input: Witnesses allegedly used their smartphones to commit the crime.
Output: These dudes I know kinda probably used their pokedex to commit the crime.

Input: Mayor Golfalot rebuilt the city after the fatal election.
Output: Mayor Golfalot avenged the city after the fatal eating contest.

Input: This <b>new study</b> shows that people in <span class="space">space</span> cannot be reached for comment.
Output: This <b>tumblr post</b> shows that people in <span class="space">spaaace</span> are guilty and everyone knows it.

Input: <b>g</b><i>oo</i><s>g</s><u>le</u> glass is terrible. :(
Output: virtual boy is terrible. :(

Input: Electric SMARTPHONES have been shown to be more productive when not used by Senators and when not used in cars.
Output: Atomic POKEDEX have been shown to be more productive when not used by Elf-lords and when not used in cats.

Input: Homeland Security has been established as an evil foundation, especially in space.
Output: Homestar runner has been established as an evil foundation, especially in spaaace.

Input: The congressional leaders are testy today.
Output: The river spirits are testy today.

Input: SPACE is not a Senator or a cAR.
Output: SPAAACE is not an Elf-lord or a cat.

Input: Mr. Biz is running for reelection.
Output: Mr. Biz is running for reelection.

Input: Google   glass !
Output: Virtual boy !

Input: New (or old) study
Output: New (or old) study

Bu bir , yani bayt cinsinden en kısa program kazanır.


"Şahit alanı" ne olmalı?
lirtosiast

@ThomasKwa "Tanık Alanı". Eksik kelimelerle eşleşmeyin.
Conor O'Brien,


3
Bu ilginç bir mücadele gibi görünüyor. Kısa bir süre için bir şans vereceğim
Sam Weaver

1
@DomHastings Evet, yapabilirim; geçersiz giriş ve kendi kendine kapanan etiketler olmayacak (örn. <br/>)
Conor O'Brien,

Yanıtlar:


8

Perl 5 , 850

Çok sayıda regex kullanılmış veya üretilmiştir.
% 1 karma tekrarlanan kelimeler için kullanılır.

%l=qw(A avenge B _be_reached_for_comment C could D dude E pokedex G google_glass I _I_know K river_spirit L congressional_leader P smartphone 4 rebuil N new_stud T tumblr_post V virtual_boy W witness Y _guilty_and_everyone_knows_it);$t="G,V;Ges,Vs;Ps,E;P,E;4d,A;4t,Ad;Nies,Ts;Ny,T;Wes,these DsI;W,this DI;allegedly,kinda probably;cannotB,areY;car,cat;cars,cats;Ls,Ks;L,K;C notB,isY;Cn'tB,isY;election,eating contest;electric,atomic;homeland Security,homestar runner;senator,elf-lord;senators,elf-lords;space,spaaace";$o=$s=$_;$s=~s/\s\s*/ /g;map{$t=~s/$_/$l{$_}/g}keys%l;$t=~s/_/ /g;@L=split/;/,$t;map{my@T=split/,/;push@W,\@T}@L;map{$e=$a=$W[$_][0];$b=$W[$_][1];$U=uc$a;$u=ucfirst$a;$s=~s/(?<![\w"])$U(?![\w"])/\U$b/g;$s=~s/(?<![\w"])$u(?![\w"])/\u$b/g;$s=~s/(?<![\w"])$a(?![\w"])/$b/gi;$e=~s@.@(<.*?>)?$&(</.*?>)?@g;$s=~s/$e /$b /ig;}0..@W;$_=$s.$/

Ölçek

$ cat news.txt |perl -p readingnews.pl
These dudes I know kinda probably used their pokedex to commit the crime.
Mayor Golfalot avenged the city after the fatal eating contest.
This <b>tumblr post</b> shows that people in <span class="space">spaaace</span> are guilty and everyone knows it.
virtual boy is terrible. :(
Atomic POKEDEX have been shown to be more productive when not used by Elf-lords and when not used in cats.
Homestar runner has been established as an evil foundation, especially in spaaace.
The river spirits are testy today.
SPAAACE is not a Elf-lord or a cat.
Mr. Biz is running for reelection.
Virtual boy !
New (or old) study

İlk etapta tebrikler!
Conor O'Brien,

9

JavaScript ES6, 954 bayt

Bunun olduğundan çok daha kolay olacağını düşündüm! Başlangıçta JavaScript'i kolayca kullandım, böylece sadece metin düğümlerine kolayca inebildim ve oradaki metni değiştirebildim, ama soruyu soran bu değildi, bu yüzden bu canavarlıkla sonuçlandım! Etiketlerin dengelenmesi nedeniyle <b>g</b><i>oo</i><s>g</s><u>le</u> glass is terrible. :(tüm dizenin bir <b>etikette döndüğü durumlar hariç tüm test durumlarını geçmektedir . Kodun büyük kısmı arama tablosudur ve hala bazı kenar davalarını özlüyorum, ama gergiyi doğru bir şekilde ele almak için daha güzel bir yol bulamadım ve bundan daha fazla sıkıştırabileceğime eminim ama fikirler tükeniyor ... Eminim daha sonra yine buna geri döneceğim. Perl'i kullanmalıydık , @LukStorms'da daha iyi seçim !

d=document.createElement`div`,u='toUpperCase'
d[i='innerHTML']=prompt``;`the ${w='witness'}es,those dudes I know|${w}es,these dudes I know|the ${w},this dude I know|${w},dude I know|allegedly,kinda probably|new study,tumblr post|new studies,tumblr posts|rebuild,avenge|rebuilt,avenged|space,spaaace|${g='google glass'},virtual boy|${g}es,virtual boys|smartphones,pokédex|smartphone,pokédex|electric,atomic|senator,elf-lord|car,cat|election,eating contest|congressional leader,river spirit|homeland security,homestar runner|could not ${b='be reached for comment'},is${g=' guilty and everyone knows it'}|couldn't be reached for comment,is${g}|cannot be reached for comment,are${g}`[v='split']`|`.map(w=>d[i]=d[i][r='replace'](eval(`/(<[^>]+)?\\b${(w=w[v]`,`)[0][v]``.join`(?:<\\/?[^>]+>)*`[r](/ /g,'\\s+')}(s?)\\b/gi`),(s,q,t)=>[q?s:((!s.match(/[^A-Z]/)?w[1][u]():s.match(/^[A-Z]/)?w[1][r](/^./,q=>q[u]()):w[1])+t),q?0:w[1]=w[1][r](/ce$/,'ace')][0])[r](/\ba(?= [aeiou])/gi,s=>s=="a"?"an":"AN"))
alert(d[i])

Her başarılı maçtan sonra % 5 spaaaceek almak için bir bonus uyguladım a. @Sysreqalert() tarafından önerildiği gibi kullanır , teşekkürler!

Örnekler

Input: <b>g</b><i>oo</i><s>g</s><u>le</u> glass is terrible. :(
Output: <b>virtual boy is terrible. :(</b>
Input: space. Space? Space! SPACE!
Output: spaaace. Spaaaace? Spaaaaace! SPAAAAAACE!
Input: Smartphones aren't really smart phones, but: SMARTPHONES!
Output: Pokédex aren't really smart phones, but: POKÉDEX!
Input: Senator John Doe was arrested today after attempting to write a new study on the danger of smartphones being used in the car, on his smartphone whilst driving his car. A witness testified to having seen the senator committing the crime. When questioned, Senator Doe "could not be reached for comment". It's unknown if his reputation can be rebuilt and this puts new doubts on the upcoming election. Congressional leaders have yet to comment.
Output: Elf-lord John Doe was arrested today after attempting to write a tumblr post on the danger of pokédex being used in the cat, on his pokédex whilst driving his cat. A dude I know testified to having seen the elf-lord committing the crime. When questioned, Elf-lord Doe "is guilty and everyone knows it". It's unknown if his reputation can be avenged and this puts new doubts on the upcoming eating contest. River spirits have yet to comment.

Bonus: yer imi

Gövde metninin yerinde güncellenmesi için bunu konsolunuzda çalıştırın:

d=document.body;`the ${w='witness'}es,those dudes I know|${w}es,these dudes I know|the ${w},this dude I know|${w},dude I know|allegedly,kinda probably|new study,tumblr post|new studies,tumblr posts|rebuild,avenge|rebuilt,avenged|space,spaaace|${g='google glass'},virtual boy|${g}es,virtual boys|smartphones,pokédex|smartphone,pokédex|electric,atomic|senator,elf-lord|car,cat|election,eating contest|congressional leader,river spirit|homeland security,homestar runner|could not ${b='be reached for comment'},is${g=' guilty and everyone knows it'}|couldn't be reached for comment,is${g}|cannot be reached for comment,are${g}`[v='split']`|`.map(w=>d[i='innerHTML']=d[i][r='replace'](eval('/(<[^>]+)?\\b'+(w=w[v]`,`)[0][v]``.join`(?:<\\/?[^>]+>)*`[r](/ /g,'\\s+')+'(s)?\\b/gi'),(s,q,t)=>[q?s:((s.match(/^[A-Z]+$/)?w[1].toUpperCase():s.match(/^[A-Z]/)?w[1][r](/^./,q=>q.toUpperCase()):w[1])+(t||"")),q?0:w[1]=w[1][r](/ce$/,'ace')][0])[r](/\ba ([aeiou])/gi,(s,t)=>s[0]=="a"?"an "+t:"AN "+t))

2
alertconsole.logtarayıcıda çalıştırıldığı sürece kısadır .
Kedi,

<b>Etiket "sorunu" mükemmel kabul edilebilir, eğer değil daha kabul edilebilir. VE Son örneği seviyorum . Birçoğunu dahil eden birini düşünmeye çalışıyordum. İlk cevap için tebrikler! Rekabetçi olduğundan eminim;)
Conor O'Brien
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.