Kucing berbunyi “Meow”

31

cat pergi "Meow"

Kita semua akrab dengan konsep catprogram. Pengguna mengetik sesuatu di dalamnya, itu akan diulang kembali ke pengguna. Mudah. Tetapi semua catprogram yang saya lihat sejauh ini telah melewatkan satu fakta: a catgoes "Meow". Jadi tugas Anda adalah menulis sebuah program yang menyalin semua STDINke STDOUT KECUALI inputnya cat, dalam hal mana program Anda harus di-output cat goes "Meow".

Mencetak gol

Ini adalah , jadi skor Anda adalah jumlah byte Anda, dengan beberapa pengubah:

  • Jika program Anda bekerja untuk hewan tambahan apa pun selain cat(misalnya cow: cow goes "Moo"), untuk setiap hewan tambahan: -10
  • Jika program Anda tidak menggunakan kata "cat": -15
  • Jika program Anda merespons foxdengan "Apa kata rubah": -25

Hewan dan suara yang bersatu:

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

Hal lain di daftar ini diperbolehkan.

Aturan

  • Celah standar berlaku
  • Anda tidak boleh menulis apa pun kepada STDERR
  • Anda dapat menggunakan tanda kutip tunggal / tanpa tanda kutip daripada tanda kutip ganda.

Papan peringkat

Berikut ini adalah Stack Snippet untuk menghasilkan leaderboard biasa dan gambaran umum pemenang berdasarkan bahasa.

Untuk memastikan bahwa jawaban Anda muncul, silakan mulai jawaban Anda dengan tajuk utama, menggunakan templat Penurunan harga berikut:

## Language Name, N bytes

di mana Nukuran kiriman Anda. Jika Anda meningkatkan skor Anda, Anda dapat menyimpan skor lama di headline, dengan mencoretnya. Contohnya:

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

Jika Anda ingin memasukkan beberapa angka dalam tajuk Anda (mis. Karena skor Anda adalah jumlah dari dua file atau Anda ingin membuat daftar hukuman penterjemah secara terpisah), pastikan bahwa skor sebenarnya adalah angka terakhir di tajuk:

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

Anda juga dapat membuat tautan nama bahasa yang kemudian akan muncul di cuplikan papan peringkat:

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

Produksi ETH
sumber
16
Untuk bonus: Apa kata rubah?
Stewie Griffin
1
Untuk bonus: dapatkah setiap hewan tambahan berbentuk tunggal, atau apakah "lebah" selalu harus jamak, seperti dalam daftar Anda?
ProgramFOX
2
Kucing bilang meong. .
Addison Crump
1
Alih-alih tanda kutip ganda, dapatkah Anda menggunakan yang tunggal? Juga, dapatkah Anda output ke stderr?
Biru

Jawaban:

17

Pyth, 231-255 = -24 byte

-24 * 10 hewan ekstra, -15 tanpa tali "kucing"

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

Tautan ke kode

Kodesemu

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

Hewan itu tahu:

{'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"}
Biru
sumber
16
Saya merasa bonusnya harus -10%, bukan -10 byte. Itu akan memberikan pengembalian yang semakin berkurang untuk mencegah penyalahgunaan seperti ini. (Dan itu 10% dikalikan setiap kali, bukan 10% dari aslinya dijumlahkan, jika tidak, Anda hanya perlu 10 hewan untuk mendapatkan skor 0 tidak peduli berapa lama kodenya ...)
Darrel Hoffman
@DarrelHoffman saya akan mengingatnya untuk semua tantangan di masa depan.
Nah, Anda berhasil membuat kepala saya meledak, dan saya tidak lagi tahu apa yang dikatakan rubah. +1
kirbyfan64sos
Gagak pergi serak?
Magic Gurita Guci
@carusocomputing Menurut wikipedia itu. Saya pikir mereka pergi squalksendiri
Biru
7

TeaScript , 29 - 15 = 14 byte

Tidak menggunakan string cat.

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

"Apa yang dikatakan rubah" (panjang = 21) lebih panjang dari nilai bonusnya.

intrepidcoder
sumber
Bonus rubah sekarang sepadan!
5

CJam, 12 byte

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

Program ini panjangnya 27 byte dan tidak menggunakan kata cat( -15 byte ).

Cobalah sebaris dengan penerjemah CJam .

Bagaimana itu bekerja

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.
Dennis
sumber
10
Saya suka smiley:)
ETHproduk
4

APL (Dyalog) , 28 - 15 = 13 byte

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

Input diikuti oleh goes "Meow"jika input sama dengan tacterbalik.

Cobalah online!

{... } fungsi anonim

⌽'tac' membalikkan string (untuk mendapatkan bonus -15 dengan menghindari karakter cat)

⍵≡ Boolean untuk apakah argumennya identik dengan itu

' goes "Meow"'/⍨ menggunakannya untuk memfilter string (yaitu mengembalikan string kosong jika salah)

⍵, tambahkan argumen

Adm
sumber
3

Stack , 51 byte

'' input dup 'cat' = { 'cat goes "meow"' } if print
BookOwl
sumber
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)

Kelemahan: Anda harus menulis nama hewan dengan huruf pertama dalam huruf besar dan sisanya dalam huruf kecil. Lihat di bawah untuk versi lain yang memperbaikinya. Versi ini lolos dari akucing in dengan \x61dan termasuk kode untuk 22 hewan tambahan dari daftar ini (semua hewan yang diizinkan yang memiliki kata-kata yang cukup pendek untuk mendapatkan nilai):

lebah buzz 7
lagu burung 8
ternak moo 9
sapi moo 6
gagak caw 7
kulit anjing 7
bebek dukun 9
katak kodok 9
desis kuda 9
hog oink 7
domba baa 7
burung bernyanyi 8
singa meraung 8
sapi rendah 5
merpati coo 9
rook gak 7
segel kulit kayu 8
domba baa 8
ular mendesis 9
angsa menangis 7
harimau meraung 9
paus bernyanyi 9

(terima kasih kepada teman saya untuk membantu saya dengan tugas yang membosankan membuat daftar ini)

Kode tidak dikunci:

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

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

Versi pertama, 45 byte - 15 bonus = 30

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

Ya saya tahu. Saya beralih dari 30 menjadi 29 dengan SEMUA pekerjaan ekstra itu. Itu menyenangkan!

Versi yang memungkinkan input huruf kecil penuh, 294 byte - 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)

Saya juga mencoba menghapus casing dari array data dengan .join().toLowerCase().split(',')tetapi akhirnya mengambil 297 karakter sebagai gantinya.

Kartu domino
sumber
sunting: tanda kutip dan modal tetap pada meow (meskipun pertanyaannya tidak konsisten dengan huruf kapital)
Domino
Dan ... pekerjaan saya di sini selesai, membuktikan bahwa -10 bonus sudah cukup :)
Domino
3

JavaScript, 81 - 20 - 15 = 46 byte 50 - 15 = 35 byte

(o=prompt()=="ca"+"t")&&o+=' goes "Meow"';alert(o)
username.ak
sumber
Anda dapat menjatuhkan tanda kutip ganda di sekitar Meow .
anotherdave
tidak, itu sebenarnya bagian dari pertanyaan
Domino
Bagaimana kalau 'c\at'bukan 'ca'+'t'?
Gustavo Rodrigues
alert({'c\at':'c\at goes "Meow"',fox:'What does the fox say'}[a=prompt()]||a). Mengapa tidak menghentikan peringatan? Itu sudah mengembalikan hasilnya ke konsol.
Gustavo Rodrigues
2

GNU sed, 37 - 15 = 22 byte

sed -r 's/^(\x63at)$/\1 goes "Meow"/'
pengguna2064000
sumber
sed '/ ^ c [a] t $ / s / $ / berbunyi "Meow" /' menyimpan beberapa byte. Tetapi bonus 5% baru tidak berharga dibandingkan dengan bonus 15 byte asli karena tidak memiliki "kucing".
Glenn Randers-Pehrson
@ GlennRanders-Pehrson Tidak lagi!
2

MATLAB, 58 - 15 = 43 byte

Cukup mudah, dengan bonus karena tidak menggunakan catdalam kode:

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

Input harus diberikan dalam tanda kutip tunggal: ' '.

Stewie Griffin
sumber
Dalam bentuk saat ini, ini tidak menampilkan dengan benar jika 'cat' diberikan sebagai input. Anda mungkin lupa x = dalam pernyataan if.
slvrbld
Tetapi saya juga akan memberi Anda tip untuk memenangkan kembali byte-byte ini ditambah 2 tambahan: ganti seluruh pernyataan-if Anda dengan: if ~ any (x-'dbu '+1)
slvrbld
@ Slvrbld, terima kasih atas perhatiannya, itu terjadi setelah saya mengedit. BTW: saran Anda tidak berfungsi untuk input yang bukan 3 karakter. =)
Stewie Griffin
Ah, kamu benar. Saya terlalu fokus pada kucing dan rubah dan melupakan sisanya.
slvrbld
2

Javascript, 117 byte

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]+'"')

Saya jelas belum menang di sini, tapi saya sudah meliput banyak hewan tambahan.

Javascript, 31 byte

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

HALT , 71 - 15 = 56 byte

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

HALT adalah bahasa yang saya (@Downgoat) dibuat untuk pemrosesan string, satu-satunya masalah adalah agak panjang

Diformat

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

Python 3, 81 70 55 46 - 15 = 31 byte

Terima kasih kepada Stewie Griffin karena telah menghemat 15 byte

Terima kasih kepada grc untuk menghemat 8 byte.

Tidak menggunakan string catmenghasilkan -15 byte.

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

JavaScript, 48 - 15 = 33 byte

Penggunaan \x61sebagai pengganti adi cat.

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

Perl, 46 - 15 = 31

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

Ruby, 49 46 50 - 15 = 35 byte

Cukup lurus ke depan kurasa. Tidak menggunakan kucing.

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

Sunting: Terima kasih atas @ w0lf untuk menghemat 3 byte!

Peter Lenkefi
sumber
rupanya tidak perlu untuk chop: ideone.com/lTpShD
Cristian Lupascu
@ w0lf "cat \ n"! = "cat" (Setidaknya tidak bekerja untuk saya) Saya menduga bahwa STDIN ideone tidak memiliki baris baru
Peter Lenkefi
Cukup adil, saya melihat di mana contoh saya salah. Maka Anda dapat mempertimbangkan melakukan ini untuk mempersingkat kodenya.
Cristian Lupascu
@PeterLenkefi, masih ada beberapa kucing tersisa di kode Anda ... Apakah Anda lupa untuk memperbaruinya atau ...?
Stewie Griffin
@StewieGriffin Sial, aku melakukannya! Multitasking saya tidak di atas hari ini. Namun dalam 5 menit saya akan memperbaruinya lagi.
Peter Lenkefi
1

PHP, 1204 - (10 * 64) - 15 - 20 = 529 byte

<?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);

Saya menggunakan json encoded array yang dikompresi suara binatang. Ini berarti ia berfungsi dengan 65 hewan yang diizinkan, tetapi skrip saya sangat besar. Juga bekerja dengan rubah dan tidak memiliki kata kucing di dalamnya.

Felix Eve
sumber
1

MATLAB, 46 byte

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

Diakui sepele. Masukan harus diberikan dalam tanda kutip tunggal.

Christopher Creutzig
sumber
Saya tidak yakin, tapi saya pikir ans = .. umumnya tidak diterima, jika tantangannya adalah mencetak sesuatu. Saya tidak yakin apakah itu konsensus, tetapi cukup umum untuk digunakan dispatau yang serupa.
Stewie Griffin
+1 meskipun, karena lebih pendek dari milikku =)
Stewie Griffin
1

Beam , 208 206 - 15 = 191 byte

Bukan entri yang kompetitif, tetapi sedikit hal yang menyenangkan untuk dilakukan. Ini memeriksa huruf pertama dari input yang ditentang cat. Jika tidak cocok, ia akan memintas ke program kucing standar. Jika cocok, itu akan ditambahkangoes "Meow"

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

Java = 222 byte (terkompresi)

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);}}}

Atau saya bisa mendekompresnya.

Batch = 52 byte

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

sumber
1

Javascript: 48 Karakter, 48 Bytes

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

Uji

=>"Anjing"

<="Anjing"

=>"kucing"

<="kucing pergi mengeong"

Fuzzyzilla
sumber
Kerja bagus! Anda bisa menjatuhkan tanda kurung s=="cat". Selain itu, tali kucing seharusnya cat goes "Meow", jadi 'function(s){return s=="cat"?'cat goes "Meow"':s}benar-benar valid.
ETHproduk
Jika Anda ingin menghemat lebih banyak lagi, Anda bisa menggunakan ES6: s=>s=="cat"?s+' goes "Meow"':s(30 bytes)
ETHproduk
@ EHProduk OOoh, itu bagus! Saya tidak tahu sintaks semacam itu, mungkin tautan?
Fuzzyzilla
@ Fuzzyzilla itu bagian dari versi baru JavaScript yang disebut "ES6", tautan ke sintaks fungsi dan ikhtisar baru . Berikut juga tips untuk ES6 dan tips untuk JavaScript pada umumnya
Downgoat
1

Haskell, 52-15 = 37 byte

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

Menggunakan \99sebagai pengganti c dalam "cat" untuk mendapatkan bonus 15 byte.

arjanen
sumber
1

O , 22 16 14 byte

29 byte - 15

Q "tac" `J = J" pergi \ "Meow \" "+ Q?

Ini panjang dan bisa bermain golf lebih banyak

tahap
sumber
1

Pyth, 82-95 = -13 byte

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

Saya akhirnya berhasil mengubah entri Python 2 fungsional baru saya ke Pyth. Itu tidak mengalahkan pesaing teratas. Ternyata zipping bersama lebih banyak hewan ke dalam kamus yang lebih besar mengurangi skor lebih cepat daripada mengaitkan hewan dengan suara secara cerdik. Ini mendukung 8 hewan selain kucing: badak, okapi, rusa, singa, harimau, luak, kuda nil, dan rusa.

Cobalah online

kuintopia
sumber
1

Japt, 25-15 = 10 24-15 = 9 byte

Pertama kali mencoba Japt:

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

ƒharus diganti dengan karakter yang tidak patut U+0083 Kompilasi ke:

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

Solusi lama:

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

Coba di sini

Pengguna Generik
sumber
Cukup bagus! Maaf backslash diperlukan, saya pikir saya sudah memperbaikinya.
ETHproduk
Karena kode berisi karakter yang tidak diinginkan, yang dibuang dengan cepat, bisakah Anda menambahkan tautan?
ETHproduk
Menambahkan tautan, juga mengapa U+0083bisa diganti U+0192atau ƒketika Anda menjalankan cuplikan ini:"\u0083".charCodeAt()
Generic User
Saya tidak tahu. Saya sepertinya tidak bisa mereproduksi ini.
ETHproduk
1

Pyth, 26-15 (no "cat") = 11 byte

Program Pyth pertama saya!

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

Coba di sini

Penjelasan

   _"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.
DJgamer98
sumber
1

C ++ 11, 316 - 11 * 10 - 15 = 191 byte

#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());}

Kompilasi dengan baik dengan VisualStudio. GCC ingin saya #include <string>dan #include <cstdio>. Akan lebih pendek jika saya tidak akan pergi untuk bonus, tapi saya masih berharap penulis merevisi bonus. Saya tidak bisa memikirkan bahasa di mana mendefinisikan cow -> mooatau lebih jauh lebih pendek dari 10bytes. Tambang 3+key+valuebyte biaya untuk tambahan 22+17byte rata dan hewan untuk menentukan struktur dan sebagainya.

Tidak disatukan

#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());
}
Zereges
sumber
"t (gagak, caw)" memiliki panjang 11. Jadi menyingkirkan itu untuk "t (angsa, menangis)" akan turun 14 byte. Dan memang membuatnya kurang menyenangkan :(
Noodle9
@ Pengguna, Seperti yang saya katakan, saya masih berharap penulis merevisi bonus.
Zereges
Anda harus menyatakan C ++ 11 di judul. Python 2 dan 3 juga selalu berbeda. Meskipun usingini bukan masalah besar, daftar penginisialisasi adalah.
Karl Napf
@KarlNapf Terima kasih telah menunjukkannya.
Zereges
Anda juga dapat mengubah #include <map>ke #import<map>-2 byte. Ruang sebelumnya <dapat dihilangkan dan #importmelemparkan beberapa peringatan tetapi diterima menjadi GCC dan MSVC
Karl Napf
0

Pyth, 31 - 15 = 16 byte

Anda dapat mencobanya di sini

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

Penjelasan:

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
Adnan
sumber
1
C99dapat diganti dengan \C. Masih +\C"at", jadi Anda bisa menyimpan bonus.
bertepuk tangan
0

C, 76 byte

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

PHP, 70-15 = 55 byte

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

(disimpan sebagai ISO-8859-1)

Menggunakan konstanta undefined terbalik sebagai string literal:

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

Semuanya digabungkan dalam satu pernyataan gema, disingkat dengan <?=

Fabian Schmengler
sumber