Kot robi miau"


31

cat nazywa się „Meow”

Wszyscy znamy koncepcję catprogramu. Użytkownik wpisuje coś, echo powraca do użytkownika. Łatwy. Ale wszystkie catprogramy, które do tej pory widziałem, pominęły jeden fakt: cat„Meow”. Więc twoim zadaniem jest napisanie programu, który skopiuje wszystko STDINdo STDOUT UNLESS wejścia cat, w którym to przypadku twój program powinien wypisać dane cat goes "Meow".

Punktacja

To jest , więc twój wynik jest liczbą bajtów, z kilkoma modyfikatorami:

  • Jeśli twój program działa na dodatkowe zwierzęta inne niż cat(np. cow: cow goes "Moo"), Dla każdego dodatkowego zwierzęcia: -10
  • Jeśli twój program nie używa słowa „kot”: -15
  • Jeśli Twój program odpowie fox„Co mówi lis”: -25

Zwierzęta i dźwięki, które idą w parze:

cow goes moo duck goes quack sheep goes baa bees go buzz frogs go croak

Wszystko inne na tej liście jest dozwolone.

Zasady

  • Standardowe luki zastosowanie
  • Nie wolno ci nic pisać STDERR
  • Zamiast podwójnych cudzysłowów można używać pojedynczych cudzysłowów / bez cudzysłowów.

Tabela liderów

Oto fragment kodu, który pozwala wygenerować zarówno zwykłą tabelę wyników, jak i przegląd zwycięzców według języka.

Aby upewnić się, że twoja odpowiedź się pojawi, zacznij od nagłówka, korzystając z następującego szablonu Markdown:

## Language Name, N bytes

gdzie Njest rozmiar twojego zgłoszenia. Jeśli poprawić swój wynik, to może zachować stare porachunki w nagłówku, uderzając je przez. Na przykład:

## Ruby, <s>104</s> <s>101</s> 96 bytes

Jeśli chcesz umieścić w nagłówku wiele liczb (np. Ponieważ twój wynik jest sumą dwóch plików lub chcesz osobno wymienić kary za flagi tłumacza), upewnij się, że rzeczywisty wynik jest ostatnią liczbą w nagłówku:

## Perl, 43 + 2 (-p flag) = 45 bytes

Możesz także ustawić nazwę języka jako link, który pojawi się we fragmencie tabeli wyników:

## [><>](http://esolangs.org/wiki/Fish), 121 bytes


16
Premie: co mówi lis?
Stewie Griffin,

1
W przypadku bonusów: czy każde dodatkowe zwierzę może być osobliwe, czy też „pszczoły” zawsze muszą być w liczbie mnogiej, jak na twojej liście?
ProgramFOX


1
Czy zamiast podwójnych cudzysłowów możesz użyć pojedynczych? Czy możesz również wypisywać na stderr?
Niebieski

Odpowiedzi:


17

Pyth, 231-255 = -24 bajty

-24 * 10 dodatkowych zwierząt, -15 za brak sznurka „kot”

pzI}zJv.Z"xÚ]Arà E¯âñMOÛ|°
Ø¢mÞ½`&ÉR¯'_ãPÍm1;ñÝ|,F ¹×z#½öÂ÷ÜAPúõMh#Ì©UOC *CÑ°k%¹ö´qÌzj,å<&{jàRFÖ(¥s    ñ`GÂ:çkô#ù\M+üqíéaw ÑuW6Lã,¶w/'87ö×_r]¢:jkz»ÚFÙ¦ÈcÅËØíëûÖOa¿Þµ´6 ø¡ãEþþ:"jk(" goes "N@JzN

Link do kodu

Pseudo kod

Auto assign z to input
print z
J = decompress animal-sound dict
if z in J:
    print " goes ", J[z], '"'

Zwierzęta, które zna:

{'hare': 'squeak', 'seal': 'bark', 'lion': 'growl', 'rook': 'hiss', 'sheep': 'baa', 'hamster': 'squeak', 'moose': 'bellow', 'grasshopper': 'chirp', 'rhinoceros': 'bellow', 'cat': 'meow', 'tiger': 'growl', 'stag': 'bellow', 'crow': 'caw', 'okapi': 'bellow', 'snake': 'hiss', 'cicada': 'chirp', 'badger': 'growl', 'dog': 'bark', 'cricket': 'chirp', 'tapir': 'squeak', 'bird': 'chirp', 'sparrow': 'chirp', 'lamb': 'baa', "frog": "croak", "raven": "croak"}

16
Wydaje mi się, że premia powinna wynosić -10%, a nie -10 bajtów. Dałoby to malejący zwrot, aby zapobiec takim nadużyciom. (I to 10% pomnożone za każdym razem, a nie 10% sumy oryginalnej, w przeciwnym razie potrzebujesz tylko 10 zwierząt, aby uzyskać wynik 0 bez względu na to, jak długo był kod ...)
Darrel Hoffman

@DarrelHoffman Będę pamiętać o wszystkich przyszłych wyzwaniach.

Udało ci się sprawić, że moja głowa wybuchła, a ja już nie wiem, co mówi lis. +1
kirbyfan64sos

Kruk chrząka?
Magic Octopus Urn

@carusocomputing Według wikipedii tak. Myślę, że sami squalksobie pójdą
niebieski,

7

TeaScript , 29-15 = 14 bajtów

Nie używa łańcucha cat.

xr(/^c\at$/,'$& goes "Meow"')

„Co mówi lis” (długość = 21) jest dłuższe niż wartość premii.


Bonus dla lisa jest teraz tego wart!

5

CJam, 12 bajtów

q_:)"dbu"=" goes \"Meow\""*

Program ma 27 bajtów długości i nie używa słowa cat( -15 bajtów ).

Wypróbuj bezpośrednio w interprecie CJam .

Jak to działa

q_                e# Read all input and push a copy.
:)                e# Increment all code points of the copy.
"dbu"=            e# Push 1/0 if the result is/isn't "dbu".
" goes \"Meow\""* e# Repeat the string that many times.

10
Lubię buźkę:)
ETHproductions

4

APL (Dyalog) , 28-15 = 13 bajtów

{⍵,' goes "Meow"'/⍨⍵≡⌽'tac'}

Wejście, po którym następuje, goes "Meow"jeśli wejście jest równoważne tacodwróceniu.

Wypróbuj online!

{} Anonimowa funkcja

⌽'tac' odwróć ciąg (aby uzyskać premię -15, unikając postaci cat)

⍵≡ Wartość logiczna dla tego, czy argument jest identyczny z tym

' goes "Meow"'/⍨ użyj tego do filtrowania ciągu (tzn. zwraca pusty ciąg, jeśli false)

⍵, dołącz do argumentu



3

JavaScript, 45-15 = 30/264 - 235 = 29

alert((s=(d='MeowBuzzSongMooMooCawBarkQuackCroakHissOinkBaaSingRoarLowCooCawBarkBaaHissCryRoarSingC\x61tBeeBirdCattleCowCrowDogDuckFrogHorseHogLambLarkLionOxPigeonRookSealSheepSnakeSwanTigerWhale'.split(/(?=[A-Z])/))[d.indexOf(i=prompt())-23])?i+' goes "'+s+'"':i)

Wadą: musisz wpisać nazwę zwierzęcia z pierwszą literą wielkimi literami, a resztę małymi literami. Poszukaj innej wersji, która to rozwiązuje. Ta wersja ucieka akotowi z \x61i zawiera kod 22 dodatkowych zwierząt z tej listy (wszystkich dozwolonych zwierząt, które miały wystarczająco krótkie słowa, aby były tego warte):

bee brzęczenie 7
piosenka ptak 8
bydło Moo 9
krowa moo 6
wrona krakanie 7
kora pies 7
kaczka kwak 9
żaba rechotać 9
koń syczeć 9
wieprz OiNK 7
jagnięcina baa 7
skowronek śpiewa 8
Lion Roar 8
wół niską 5
gołębi coo 9
rook CAW 7
kora uszczelnienia 8
owiec baa 8
wąż syk 9
łabędź płacz 7
ryk tygrysa 9
wieloryb śpiewać 9

(podziękowania dla mojego przyjaciela za pomoc w żmudnym zadaniu tworzenia tej listy)

Nieskluczony kod:

data = 'MeowBuzzSongMooMooCawBarkQuackCroakHissOinkBaaSingRoarLowCooCawBarkBaaHissCryRoarSingC\x61tBeeBirdCattleCowCrowDogDuckFrogHorseHogLambLarkLionOxPigeonRookSealSheepSnakeSwanTigerWhale'.split(/(?=[A-Z])/);

input = prompt();
index = data.indexOf(input);
sound = data[index-23];
result = sound ? input + ' goes "' + sound + '"' : input;
alert(result);

Pierwsza wersja, 45 bajtów - 15 bonusów = 30

alert((i=prompt())=='\x63at'?i+' goes "Meow"':i)

Tak, wiem. Poszedłem z 30 do 29 z WSZYSTKIMI dodatkowymi pracami. To była zabawa!

Wersja umożliwiająca wprowadzanie pełnych małych liter, 294 bajty - 235 bonus = 59

alert((s=(d='MeowBuzzSongMooMooCawBarkQuackCroakHissOinkBaaSingRoarLowCooCawBarkBaaHissCryRoarSingC\x61tBeeBirdCattleCowCrowDogDuckFrogHorseHogLambLarkLionOxPigeonRookSealSheepSnakeSwanTigerWhale'.split(/(?=[A-Z])/))[d.indexOf((i=prompt())[0].toUpperCase()+i.slice(1))-23])?i+' goes "'+s+'"':i)

Próbowałem również usunąć obudowę z tablicy danych, .join().toLowerCase().split(',')ale skończyło się to na 297 znakach.


edycja: naprawiono znaki cudzysłowu i kapitału na miau (choć pytanie nie jest zgodne z wielkimi literami)
Domino

I ... moja praca tutaj jest skończona, co dowodzi, że premia -10 wystarczyła :)
Domino

3

JavaScript, 81–20–15 = 46 bajtów 50–15 = 35 bajtów

(o=prompt()=="ca"+"t")&&o+=' goes "Meow"';alert(o)

Możesz upuścić podwójne cudzysłowy wokół Meow .
anotherdave

nie, to właściwie część pytania
Domino

A może 'c\at'zamiast 'ca'+'t'?
Gustavo Rodrigues,

alert({'c\at':'c\at goes "Meow"',fox:'What does the fox say'}[a=prompt()]||a). Dlaczego nawet nie porzucić alertu? Już zwraca wynik do konsoli.
Gustavo Rodrigues,

2

GNU sed, 37-15 = 22 bajtów

sed -r 's/^(\x63at)$/\1 goes "Meow"/'

sed '/ ^ c [a] t $ / s / $ / idzie „Meow” / ”zapisuje kilka bajtów. Ale nowy 5% bonus jest bezwartościowy w porównaniu z oryginalnym 15-bajtowym bonusem za brak „kota”.
Glenn Randers-Pehrson

@ GlennRanders-Pehrson Już nie!

2

MATLAB, 58–15 = 43 bajty

Całkiem prosto, z premią za nieużywanie catw kodzie:

x=input('');if isequal(x,'dbu'-1);x=[x ' goes "Meow"'];end;x

Wejście musi być podane wewnątrz pojedynczych cudzysłowów: ' '.


W obecnej formie nie wyświetla się poprawnie, jeśli jako dane wejściowe podano „cat”. Prawdopodobnie zapomniałeś x = w instrukcji if.
slvrbld,

Ale dam ci również wskazówkę, jak odzyskać te bajty oraz dodatkowe 2: zamień całą instrukcję if na
slvrbld

@slvrbld, dzięki za zauważenie, stało się to po tym, jak dokonałem edycji. BTW: twoja sugestia nie działa dla danych wejściowych, które nie są 3 znakami. =)
Stewie Griffin

Ach, masz rację. Byłem zbyt skupiony na kotach i lisach i zapomniałem o reszcie.
slvrbld,

2

JavaScript, 117 bajtów

for(c=0,s="bee.Buzz.bird.Song.c\at.Meow.cow.Moo.crow.Caw.dog.Bark.oxen.Low.owl.Who.rook.Caw.sheep.Baa.swan.Cry".split('.'),p=prompt(),a=![];c<s.length;c+=2){if(p==s[c])a=c}if(!a)alert(p=='fox'?'What does the fox say':p);else alert(s[a]+' goes "'+s[a+1]+'"')

Na pewno tu nie wygrałem, ale omówiłem wiele dodatkowych zwierząt.

JavaScript, 31 bajtów

p=prompt();alert(p=='c\at'?p+' goes "Meow"':p)

2

HALT , 71-15 = 56 bajtów

1 IF "cat" 2 ELSE 3
2 TYPE "MEOW";HALT
3 SET 0;NEXT
4 INCREMENT;STORE 0

HALT to język, który ja (@Downgoat) stworzyłem do przetwarzania ciągów, jedynym problemem jest to, że jest nieco długi

Sformatowany

1              IF "cat" 2 ELSE 3
2 TYPE "MEOW"; HALT
3 SET 0      ; GOTO 6
4 INCREMENT  ; STORE 0

2

Python 3, 81 70 55 46 - 15 = 31 bajtów

Dzięki Stewie Griffin za uratowanie 15 bajtów

Dzięki grc za oszczędność 8 bajtów.

Nieużywanie ciągu catdaje -15 bajtów.

y=input()
print(y+' goes "Meow"'*(y=="ca""t"))

1

JavaScript, 48–15 = 33 bajty

Zastosowania \x61jako substytut ain cat.

i=prompt();alert(i=="c\x61t"?i+' goes "Meow"':i)

1

Perl, 46–15 = 31

$_=join'',<>;s/(?<=^ca)t$/t goes "Meow"/;print

1

Rubinowy, 49 46 50-15 = 35 bajtów

Chyba całkiem proste. Nie używa kota

$<.map{|l|puts l==?c+'at
'??c+'at goes "Meow"':l}

Edycja: Dzięki za @ w0lf za zapisanie 3 bajtów!


najwyraźniej nie ma potrzeby chop: ideone.com/lTpShD
Cristian Lupascu

@ w0lf "cat \ n"! = "cat" (Przynajmniej to nie działa dla mnie) Zgaduję, że STDIN ideone nie ma końca nowej linii
Peter Lenkefi

W porządku, widzę, gdzie mój przykład był błędny. Następnie możesz rozważyć zrobienie tego, aby skrócić kod.
Cristian Lupascu,

@PeterLenkefi, w kodzie wciąż zostało kilka kotów ... Czy zapomniałeś go zaktualizować lub ...?
Stewie Griffin,

@StewieGriffin Cholera, zrobiłem to! Moja wielozadaniowość nie jest dziś na topie. Jednak za 5 minut zaktualizuję go ponownie.
Peter Lenkefi

1

PHP, 1204 - (10 * 64) - 15-20 = 529 bajtów

<?php $i = $argv[1];$s = json_decode(gzuncompress(hex2bin("78da555351b2db200cbc8a27dfee057a1b192bc018104f40dcbccebb7b25d9499d8fcc588b10abddcddf1b64e4e8a04c3bd1eac86db7df3774e136dfa0744c5451805688bb400bac1e5900cfb42703ba1e3bc6e3ce82dabe8cef6f2d22af52b910b95ad93b72d173a22c8083f4d0f63bc75c131aa2e332d2ae45886e43ed7769082f438afc52027df46b20182af457b83c24537ad2c199484b99f6fe669dd9afcd6cc70ef67972a03bb8c10915abb12aa995bc7206deac48555818a9e80ea46cf8142020fe0aa0ccd761327e0db00e046f745426d0c531610d22af609d47aea8dade91d998ad447aebcef6aef0b32d7d64b8df4ddd84a0173c436b816a35475efbf8110bc254a3bf6a1420b76e7d1788f1a346ceb14f8e61b98c0bc44ddb0a46afe284582b55ea9087e1af2004236b3999278a452726c8cb8bef3c2d0086b14ad362f1f3b4032fe67b8aa59cae88742744aab26ccff3f47a2583af11ad0f344c0a1119910553b2d864929562270577b14a87d10635ea351a3e0895572ffd11f0f8ac0867fadf36898668249c65a732448e387de481c1c96931272598863c8ed09ec6b17020874c5792ac1e5bea8ee234c7c238df1a42faff449360552b55c05660d3d5426c4dcb0a7c26f874ac75f0d7a7da0e079da7145d74f848418fc71f5a75d652947a4e1edd469715fae023e29e96c3b0c748027e847a87c4ef4cc893820438722f666bc9a6cb69facf3f28e87499")));echo array_key_exists($i,$s)?"$i goes {$s->$i}":($i=="fox"?"What does the $i say":$i);

Używam skompresowanej gz skompresowanej gz dźwięków zwierząt. Oznacza to, że działa ze wszystkimi 65 dozwolonymi zwierzętami, ale mój skrypt jest ogromny. Działa również z lisem i nie ma w nim słowa cat.


1

MATLAB, 46 bajtów

regexprep(input(''),'^cat$','cat goes "Meow"')

Co prawda banalne. Dane wejściowe należy podawać w pojedynczych cudzysłowach.


Nie jestem pewien, ale myślę, że ans = .. ogólnie nie jest akceptowany, jeśli wyzwaniem jest wydrukowanie czegoś. Nie jestem pewien, czy jest to konsensus, ale jest dość powszechny w użyciu displub coś podobnego.
Stewie Griffin

+1, ponieważ jest krótszy niż mój =)
Stewie Griffin

1

Belka , 208 206-15 = 191 bajtów

Nie jest to konkurencja, ale trochę zabawy. Sprawdza pierwsze pod kątem liter wejścia cat. Jeśli wystąpi niedopasowanie, nastąpi skrót do standardowego programu cat. Jeśli pasuje, to się dołączygoes "Meow"

'''''''''>`\/n@>`)'''>`++\
/++++++++++/r /SP''+(++++/
\+)'PSrn@--S/ \rn@`>`)rn'''''>`++++++)++@P'p++++@'p-----@`p++@'p-@``p@++@'''''>`+++++++++)--@'p++@'p-----@++++++++@``p++@H
/@<  (`<     < `<    ''<
>ruH

1

Java = 222 bajty (skompresowane)

public class A {public static void main(String[] args) {Scanner a=new Scanner(System.in);for(;;){String b=a.nextLine();if(!b.equalsIgnoreCase("cat"))System.out.println(b);else {System.out.println("meow");System.exit(0);}}}

Albo mógłbym to zdekompresować.

Partia = 52 bajty

set /p k=
if "k"=="cat" (echo cat) ELSE (echo %k%)

1

JavaScript: 48 znaków, 48 bajtów

function(s){return (s=="cat")?"cat goes meow":s}

Test

=>"Pies"

<="Pies"

=>"kot"

<="Kot robi miau"


Dobra robota! Możesz upuścić nawiasy s=="cat". Również sznurek kota powinien być cat goes "Meow", więc 'function(s){return s=="cat"?'cat goes "Meow"':s}jest całkowicie poprawny.
ETHprodukcje

Jeśli chcesz zaoszczędzić jeszcze więcej, możesz użyć ES6: s=>s=="cat"?s+' goes "Meow"':s(30 bajtów)
ETHproductions

@ETHproductions OOooh, to dobrze! Nie znam jednak takiej składni, może link?
Fuzzyzilla,

@Fuzzyzilla jest częścią nowej wersji JavaScript o nazwie „ES6”, link do nowej składni i przeglądu nowej funkcji . Oto także wskazówki dotyczące ES6 i ogólne wskazówki dotyczące JavaScript
Downgoat

1

Haskell, 52-15 = 37 bajtów

c"\99at"="\99at goes \"Meow\""
c s=s
main=interact c

Używanie \99jako zamiennika c w „cat”, aby uzyskać premię 15 bajtów.


1

O , 22 16 14 bajtów

29 bajtów - 15

P „tac” „J = J” idzie \ „Meow \” ”+ Q?

Jest długi i można w niego grać więcej



1

Pyth, 82-95 = -13 bajtów

+z*}zKc."atÜiÃ'4ãl¾Eªîiû<-È&e"\jjk[d"goes"dNr@c."bw««[áÅ3ÏB"\c%x`Kz3 3N

W końcu zacząłem konwertować mój nowy funkcjonalny wpis do Pythona 2 na Pyth. Nie pokonuje najlepszego rywala. Okazuje się, że skompresowanie większej liczby zwierząt do większego słownika zmniejsza wynik szybciej niż sprytne skojarzenie zwierząt z dźwiękami. Obsługuje 8 zwierząt oprócz kota: nosorożca, okapi, łosia, lwa, tygrysa, borsuka, hipopotama i jelenia.

Wypróbuj online


1

Japt, 25-15 = 10 24-15 = 9 bajtów

Po raz pierwszy próbuję Japt:

N¦`¯t`?N:`¯t goƒ \"´ow\"

ƒnależy zastąpić niedrukowalnym znakiem U+0083 Kompiluje w celu:

N!="cat"?N:"cat goes \"meow\""

Stare rozwiązanie:

N¥`¯t`?`¯t goƒ \"´ow\"`:N

Wypróbuj tutaj


Nieźle! Przepraszam, że odwrotne ukośniki są konieczne, myślałem, że to naprawiłem.
ETHproductions

Ponieważ kod zawiera znak niedrukowalny, który Markdown odrzuca, czy mógłbyś dodać link?
ETHprodukcje

Dodano link, a także dlaczego U+0083można go zamienić U+0192lub ƒpo uruchomieniu tego fragmentu kodu:"\u0083".charCodeAt()
Użytkownik ogólny

Nie mam pojęcia. Nie mogę tego odtworzyć.
ETHprodukcje

1

Pyth, 26-15 (bez „cat”) = 11 bajtów

Mój pierwszy w historii program w języku Pyth!

Iqz_"tac"+z" goes meow";Ez

Wypróbuj tutaj

Wyjaśnienie

   _"tac"                   # Reverse the string "tac"
Iqz                         # If the input equals "tac" reversed
         +z" goes meow";    # Append " goes meow"
                        Ez  # Else, use the input.
                            # Implicit: print the input, if it's used.

1

C ++ 11, 316–11 * 10–15 = 191 bajtów

#include <map>
#define t(a,b){#a,#b},
using s=std::string;int main(){std::map<s,s>m{t(cow,moo)t(crow,caw)t(dog,bark)t(hog,oink)t(lark,sing)t(lion,roar)t(oxen,low)t(rook,caw)t(seal,bark)t(sheep,baa)t(swan,cry){"c""at","meow"}};s l;while(int i=~getchar())l+=~i;printf("%s",(m[l]==""?l:l+" goes \""+m[l]+'"').c_str());}

Kompiluje się dobrze z VisualStudio. GCC chce, żebym #include <string>i #include <cstdio>. Byłbym krótszy, gdybym nie poszedł na premie, ale nadal mam nadzieję, że autor zrewiduje premie. Nie mogę wymyślić języka, w którym definiowanie cow -> moojest o wiele krótsze niż 10 bajtów. Moje 3+key+valuebajty kosztów dla dodatkowych bajtów zwierzęcych i płaskie 22+17dla zdefiniowania struktury i tak dalej.

Bez golfa

#include <map>

#define t(a, b) { #a, #b },
using s = std::string;
int main()
{
    std::map<s, s> m{
        t(cow,moo)
        t(crow,caw)
        t(dog,bark)
        t(hog,oink)
        t(lark,sing)
        t(lion,roar)
        t(oxen,low)
        t(rook,caw)
        t(seal,bark)
        t(sheep,baa)
        t(swan,cry)
        { "c""at", "meow" }
    };
    s l;
    while (int i = ~getchar())
        l += ~i;
    printf("%s", (m[l] == "" ? l : l + " goes " + m[l]).c_str());
}

„t (wrona, caw)” ma długość 11. Pozbycie się tego do „t (łabędź, płacz)” spowoduje spadek 14 bajtów. I, co prawda, sprawia, że ​​jest mniej zabawny :(
Noodle9

@ użytkownik, jak już powiedziałem, wciąż mam nadzieję, że autor zrewiduje premie.
Zereges,

W nagłówku należy podać C ++ 11. Python 2 i 3 są również zawsze wyraźnie zaznaczone. Chociaż usingnie jest to wielka sprawa, lista inicjalizująca to.
Karl Napf,

@KarlNapf Dziękujemy za zwrócenie na to uwagi.
Zereges

Można także zmienić #include <map>się #import<map>na -2 bajtów. Poprzednia spacja <może zostać pominięta i wyświetla #importostrzeżenia, ale akceptowane są GCC i MSVC
Karl Napf

0

Pyth, 31-15 = 16 bajtów

Możesz to wypróbować tutaj

In+C99"at"zz;E+z" goes \"Meow\"

Wyjaśnienie:

I                                # If-statement
 n                               # not equal
  +C99"at"                       # Adds the char 99 with the string "at" = "cat"
          z                      # z, the user input
           z                     # Print the user input
            ;                    # Ends all open parentheses
             E                   # Else-statement
              +z" goes \"Meow\"  # Adds ' goes "Meow"' to z and prints the result

1
C99można zastąpić \C. Nadal jest +\C"at", więc możesz zachować bonus.
klaskać

0

C, 76 bajtów

main(){char a[99];gets(a);printf("%s%s",a,strcmp(a,"cat")?"":" goes meow");}

0

PHP, 70-15 = 55 bajtów

<?=$l=rtrim(stream_get_contents(STDIN),~òõ),$l==~œž‹?~ߘšŒßݲšˆÝ:'';

(zapisany jako ISO-8859-1)

Używa odwróconych niezdefiniowanych stałych jako literałów łańcuchowych:

  • ~òõ == "\r\n"
  • ~œž‹ == 'cat'
  • ~ߘšŒßݲšˆÝ == ' goes "Meow"'

Wszystko jest połączone w jednym wyrażeniu echa, w skrócie <?=

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.