โปเกมอนนั่นใคร


33

อินพุต: จำนวนเต็ม N ระหว่าง 1 ถึง 151

เอาท์พุต: โปเกมอนที่ N

กฎระเบียบ

  • คุณสามารถใช้ไฟล์ข้อมูลหนึ่งไฟล์

  • คุณไม่สามารถใช้อัลกอริทึมการบีบอัดข้อมูลที่ทำไว้แล้ว ซึ่งรวมถึงห้องสมุดและโปรแกรมอื่น ๆ

  • โปรแกรมของคุณอาจไม่สามารถเข้าถึงไฟล์อื่นนอกจากตัวเองและไฟล์ข้อมูลของคุณ

เกณฑ์การให้คะแนน

คะแนนของคุณคือผลรวมของความยาวของรหัสและไฟล์ข้อมูลของคุณ

สิ่งที่เป็นประโยชน์

นี่คือรายการของโปเกมอน 151 ตัวแรกคั่นด้วยเครื่องหมายอัฒภาคเพื่อช่วยคุณสร้างไฟล์ข้อมูลของคุณ ผลลัพธ์ของคุณควรตรงกับรายการ Nth ของบรรทัดนี้:

Bulbasaur;Ivysaur;Venusaur;Charmander;Charmeleon;Charizard;Squirtle;Wartortle;Blastoise;Caterpie;Metapod;Butterfree;Weedle;Kakuna;Beedrill;Pidgey;Pidgeotto;Pidgeot;Rattata;Raticate;Spearow;Fearow;Ekans;Arbok;Pikachu;Raichu;Sandshrew;Sandslash;Nidoran (f);Nidorina;Nidoqueen;Nidoran (m);Nidorino;Nidoking;Clefairy;Clefable;Vulpix;Ninetales;Jigglypuff;Wigglytuff;Zubat;Golbat;Oddish;Gloom;Vileplume;Paras;Parasect;Venonat;Venomoth;Diglett;Dugtrio;Meowth;Persian;Psyduck;Golduck;Mankey;Primeape;Growlith;Arcanine;Poliwag;Poliwhirl;Poliwrath;Abra;Kadabra;Alakazam;Machop;Machoke;Machamp;Bellsprout;Weepinbell;Victreebell;Tentacool;Tentacruel;Geodude;Graveler;Golem;Ponyta;Rapidash;Slowpoke;Slowbro;Magnemite;Magneton;Farfetch'd;Doduo;Dodrio;Seel;Dewgong;Grimer;Muk;Shellder;Cloyster;Gastly;Haunter;Gengar;Onix;Drowsee;Hypno;Krabby;Kingler;Voltorb;Electrode;Exeggute;Exeggutor;Cubone;Marowak;Hitmonlee;Hitmonchan;Lickitung;Koffing;Weezing;Rhyhorn;Rhydon;Chansey;Tangela;Kangaskhan;Horsea;Seadra;Goldeen;Seaking;Staryu;Starmie;Mr. Mime;Scyther;Jynx;Electabuzz;Magmar;Pinsir;Tauros;Magikarp;Gyarados;Lapras;Ditto;Eevee;Vaporeon;Jolteon;Flareon;Porygon;Omanyte;Omastar;Kabuto;Kabutops;Aerodactyl;Snorlax;Articuno;Zapdos;Moltres;Dratini;Dragonair;Dragonite;Mewtwo;Mew

มีการทาสีได้รับอนุญาต?
PyRulez

@PyRulez ใช่ตราบใดที่คุณไม่ใช้การคลายการบีบอัดข้อมูลในตัว โชคดีมากที่ทำลาย SHA256
cardboard_box

หากภาษาของเรามีบิวอินสำหรับส่งคืนรายการโปเกมอนเราสามารถใช้มันได้โดยไม่ต้องเพิ่มไบต์หรือไม่?
caird coinheringaahing

@cairdcoinheringaahing หากคุณกำลังพูดถึง built-in ของ pyke ฉันรู้สึกว่ามันขัดกับจิตวิญญาณของความท้าทาย แต่ฉันคิดว่ามันคงไม่ใช่การแข่งขัน
FlipTack

ฉันเพิ่งสังเกตเห็นความท้าทายนี้ได้เขียนคำตอบแล้วสังเกตวันที่: P ฉันรู้สึกผิดหวังที่ฉันไม่ได้ใช้ภาษาของฉันเป็นคุณสมบัติที่ไร้ประโยชน์อย่างอื่น
Blue

คำตอบ:


8

J (93 + 787 = 880)

แก้ไข: วิธีการโอนเป็นทุนอื่น ๆ ซึ่งเป็นตัวพิมพ์ใหญ่ 'นาย Mime 'ถูกต้อง

อาจจะสั้นลงฉันแทบไม่เคยเขียน J มาก่อนเลย มันทำงานบนหลักการที่คล้ายกันเป็นตัวอย่าง PHP

คุณจำเป็นต้องมีไฟล์ 'p' ในไดเรกทอรีเดียวกันขณะที่คุณทำงานนี้ไฟล์สามารถดาวน์โหลดได้จาก: http://frankenstein.dns.org.uk/p มันคือ 787 ไบต์

u:p-32*96<p*|.!.1[32=p=.(}.p#~(".1!:1[1)=+/\31=p=.#._5>\,#:a.i.1!:1<'p'){(97+i.26),a.i.'.()'' '

ไฟล์ถูกเข้ารหัสในรูปแบบห้าบิตดังนี้:

0-25: A-Z
26: .
27: (
28: )
29: '
30: <space>
31: separator

ไฟล์ยังเริ่มต้นด้วยตัวคั่นเพื่อสร้างรายการตาม 1

รหัส J ทำงานดังนี้:

  • (97+i.26),a.i.'.()'' ': สตริงที่ดัชนี N คืออักขระ ASCII
  • {: เลือกจากรายการค่าที่สร้างโดยนิพจน์ด้านล่าง
  • 1!:1<'p': อ่านไฟล์ 'p'
  • ,#:a.i.: รับไฟล์เป็นบิต
  • _5>\: จัดกลุ่มบิตในกลุ่มห้า
  • p=.#.: แปลงแต่ละกลุ่มของบิตให้เป็นตัวเลขและกำหนดให้ p
  • +/\31=p: รายการขนาดpที่แต่ละค่า N หมายถึงค่าที่ตำแหน่งนั้นpเป็นของโปเกมอน N-th
  • (".1!:1[1)=: อ่านตัวเลขจากแป้นพิมพ์และดูว่าpตัวละครในโปเกมอนนั้นอยู่ที่ไหน
  • }.p#~: ค้นหาในpและลบรายการแรก (ซึ่งเป็นตัวคั่น)
  • p-32*96<p*_1|.(!.1)32=p=.: กำหนดเอาต์พุตให้pอีกครั้งและลบ 32 จากpที่pใหญ่กว่า 96 และด้านขวาของช่องว่าง ซึ่งเป็นเรื่องยุ่งยาก ตามเอกสาร J ควรมีcapitalizeฟังก์ชั่น แต่ไม่มีในระบบของฉัน
  • u:: ค้นหาพวกเขาเป็นยูนิโค้ด

1
ฉันจะได้รับUlbasaurโปเกมอนแรก ฉันใช้งานถูกต้องหรือไม่ ฉันไม่เคยใช้ J มาก่อน นอกจากนี้Mr. Mimeควรเป็นตัวพิมพ์ใหญ่
cardboard_box

@cardboard_box: ฉันได้เปลี่ยนวิธีการใช้อักษรตัวพิมพ์ใหญ่เพื่อให้Mr. Mimeทำงานได้ (ที่ราคา 9 อักขระ) นี่Ulbasaurคือการพิมพ์ผิดในไฟล์ข้อมูลที่ได้รับการแก้ไข
marinus

ดูเหมือนว่าลิงก์จะตาย
Erik the Outgolfer

23

Bash 1182 ตัวอักษร

read n;echo {Bulba,Ivy,Venu}saur Char{mander,meleon,izard} {Squi,Warto}rtle Blastoise Caterpie Metapod Butterfree Weedle Kakuna Beedrill Pidge{y,otto,ot} Rat{tata,icate} {Sp,F}earow Ekans Arbok {Pika,Rai}chu Sands{hrew,lash} Nido{ran%\(f\),rina,queen,ran%\(m\),rino,king} Clefa{iry,ble} Vulpix Ninetales {Jigglyp,Wigglyt}uff {Zu,Gol}bat Oddish Gloom Vileplume Paras{,ect} Veno{nat,moth} Diglett Dugtrio Meowth Persian {Psy,Gol}duck Mankey Primeape Growlith Arcanine Poliw{ag,hirl,rath} {A,Kada}bra Alakazam Mach{op,oke,amp} Bellsprout {Weepin,Victree}bell Tentac{ool,ruel} Geodude Graveler Golem Ponyta Rapidash Slow{poke,bro} Magne{mite,ton} Farfetch\'d Dod{uo,rio} Seel Dewgong Grimer Muk {Shelld,Cloyst}er Gastly Haunter Gengar Onix Drowsee Hypno Krabby Kingler Voltorb Electrode Exeggut{e,or} Cubone Marowak Hitmon{lee,chan} Lickitung {Koff,Weez}ing Rhy{horn,don} Chansey Tangela Kangaskhan Horsea Seadra Goldeen Seaking Star{yu,mie} Mr.%Mime Scyther Jynx Electabuzz Magmar Pinsir Tauros Magikarp Gyarados Lapras Ditto Eevee {Vapore,Jolte,Flare,Poryg}on Oma{nyte,star} Kabuto{,ps} Aerodactyl Snorlax Articuno Zapdos Moltres Dra{tini,gon{air,ite}} Mew{two,}|tr %\  \ \\n|sed $n!d

3
นั่นเป็นความคิดที่ยอดเยี่ยมจริงๆ
MrZander

17

PHP 919 (925) ไบต์

เช่นเดียวกับคำตอบของ Peter Taylorฉันไม่สามารถโพสต์โซลูชันของฉันโดยตรงดังนั้นฉันจะโพสต์โปรแกรมที่สร้างมันขึ้นมาแทน:

<?php
$data = <<<EOD
PD9mb3IoJG89J5SWUHYPaY6dSs/pjsJBMS1pRDc1yZ3AUcQkNcnZsYIkJDXtpa4UB4mOMNH8zbDbcDhcKD
VYu89cFyjRlBm8GSjMiFSxCNHitpn8Kdi43B+XUkX2gVjN8LQEmEkF5D2zE9gbTD3z6djUJQAVFXwlXV/o
kVwnsV1rW5J9zpssN3JXdW5LjAS3DYTcBtV/YUdtoAfGC+ztsoc1LxQamD5lmQMaes37flJcGvg7CdkS+s
1bhZLjAQQtmL5tS3rN+2eS7LeROnX9nOCRRWhRQhFkBDSN0igwMUwem4BNYVrkxZuAzUEiRDG+KFODVqV0
KDAvpLM747wC0AwYUVkELsVsBA5vyThUQQtiKFRBK6EYnBC7oMiAkJtYbXOZk9scdPF3hTJEh7hhZ4yDEG
FHzJ1vSfxkDVkd8fz+u6ConHVH7Y3SHFtgq20M22ALpO40xMC9vmictX6lf+2VfqV1EBctRRwZ38RceT3E
G2l5PcTVTFahWEdGGYhjKSwy5lBYAn944VmhWNQRkvXDw5SAkpV/URm0SZPBOPweZUGwDlODERHEwt0VfK
X9WG+kp9tbe+d8oLvu1uw9+6ExyFwZe6LogoTF7oG3RCiUm0GTcJsmcyxJmdRR68Oi7P4NmQ6ZlwxE8djR
DtfANTjRZBOvWE281RLRDtPJY05E4k10BkvfCRwNLKssXh4GHB+SgBFEwsDbHsSxMdhmCBExsfvZKLzEEY
uZ26SXfutBOR1rezc8/XmT6HkcHciTBwTSxD1cJ+XBcmyjis2S7ClZLZJMTG2bngTs7VtCN3VSaQUAcuPQ
VR9yY0+ntSTcnhcdZ4n4JtzDwPHZJEl9pZJsONV96ad1jpV5eVhpldF8r7WcMeRd8hSxMXjVEcZEPZsdLg
SSd+4kNY7L7Bkbdy10VDVuJdtfGOyG7yydwJux2SFcAiz7QSIEa8BxAoQIFUFCRJt+G6KkoZ3d8fzBPZhO
xG2eaIwfvrGb54zZ7mgfGPA0Qp6I5NSund9SSw5MUD8M0wAmzywmSF2N/CZbw8V1JEZF42LIXJmLeIM5uU
wnOzc4OD4kbjspJGY9c3BsaXQonywkeC49Y2hyKDMxJiR2PSsrJGklOCUzPzgqJHZeb3JkKCRvWyRuKytd
KTokdj4+NSleiyk7ZWNob35zdHJ0cigkZlsrZmdldHMoU1RESU4pXXygLICEgYOCLNfY1tHfKTsNCg==
EOD;
print base64_decode($data);
?>

ตัวอย่าง I / O:

$ php generator.php > out.php

$ echo 12 | php out.php
Butterfree

$ echo 32 | php out.php
Nidoran (m)

$ echo 83 | php out.php
Farfetch'd

$ echo 122 | php out.php
Mr. mime

$ echo 151 | php out.php
Mew

มันทำงานอย่างไร (สปอยเลอร์):

รหัสนี้ทำงานโดยการสังเกตว่ามีอักขระที่ไม่ซ้ำกัน 32 ตัวเท่านั้นรวมถึงตัวคั่นหากคุณไม่ได้นับตัวพิมพ์ใหญ่ นี่หมายถึงการเข้ารหัส 5: 8 ทันที เพียง 5 บิตเท่านั้นที่จำเป็นในการเป็นตัวแทนของแต่ละไบต์

ฉันทำสิ่งนี้ในลักษณะต่อไปนี้:

++ $ i% 8% 3

เมื่อค่านี้ไม่ใช่ศูนย์จะอ่านไบต์ใหม่และเมื่อเป็นศูนย์ไบต์ถัดไปจะถูกสร้างขึ้นจากไบต์ที่อ่านก่อนหน้านี้ ไบต์ที่ 3, 6 และ 8 ถูกสร้างขึ้นในลักษณะนี้จากนั้นกระบวนการจะทำซ้ำ

การแจกแจงบิตจะตามมา หากตัวอย่างเช่นคุณต้องการสร้างสตริง:

abcdefgh

บิตสำหรับแต่ละรายการจะถูกกระจายระหว่าง 5 ไบต์แหล่งที่มาในรูปแบบต่อไปนี้:

hccaaaaa | cccbbbbb | hffddddd | fffeeeee | hhhggggg

หลังจากสร้าง c เหลือเพียงเศษ h ส่วนใหญ่เท่านั้นหลังจากสร้าง f ส่วนที่เหลืออีกสองบิตของ h และหลังจากอ่าน g, h ยังคงอยู่ทั้งหมด (ฉันบันทึกการปฏิบัติการกะสองสามครั้งโดยใช้ค่า xored แทนเช่น ค่าที่ฉันโหลดสำหรับไบต์ที่สองคือค่าที่ฉันต้องการ xor a << 3 แต่นั่นคือส่วนสำคัญของมัน)

สิ่งนี้สร้างอักขระในช่วง [0,31] โดย xoring โดยตัวละครใด ๆ ในช่วง [96,127] ตัวละครทั้งหมดจะถูกแมปกับช่วงนั้น (ฉันเลือก 116 เพราะมันทำให้ลำดับการหลบหนีน้อยที่สุด) หลังจากนั้นมันเป็นเรื่องง่ายในการแปล 5 ตัวอักษรที่ไม่ได้อยู่ที่นั่นด้วยการแทนที่ที่เหมาะสมและใช้อักษรตัวใหญ่ตัวแรก รหัสนี้ต้องใช้สามไบต์ในการทำเช่นนั้น: หรือสตริงสตริงกลับหัวกลับ (ที่สร้างขึ้นก่อนหน้านี้) ด้วยถ่าน 160 และจากนั้นกลับบิต ข้อแม้เล็ก ๆ : ม. ที่สองใน 'นาย mime 'ไม่ได้เป็นตัวพิมพ์ใหญ่โดยวิธีนี้ สิ่งนี้สามารถซ่อมแซมได้โดยแทนที่วิธีที่อธิบายไว้ข้างต้นด้วยฟังก์ชัน ucwords () ที่ราคา 6 ไบต์ทำให้มีความยาวรหัส 925 แทนที่จะเป็น 919


7

GolfScript (1,040 ไบต์)

น่าเสียดายที่ฉันไม่สามารถโพสต์โปรแกรมได้โดยตรงดังนั้นฉันจะให้ลิงค์และข้อความที่เข้ารหัสด้วยเบส 64:

fignACc1Nix7XFsxJF0nJysvXCdCdWxiNzYKSXZ5czY0dXM2CjJtMWQvMm0tZSsyaXozZCpxdSZ0
bCVXMyRydGwlQmw3JGlzJUMjMHBpImUhcB8KQnV0dDBmcmUlHmRsJUtha3VuYQpCZWVkHWxsG3kb
b3QkG290GiN0I2EaI2ljIyVTcGUzGQpGZTMZCkVrMXMYcmJvaxxpa2EXdRphaRd1KjFkc2hyZXcq
MWRzbDdoFWYpFnIUYRZxdWU1FW0pFnIUbxZrExEmeRFibCVWdWxwaXgKThRlIRJzCkoQcHVmZgpX
EHR1ZmYKWnViIw8OYiMKT2RkaXNoD2xvb20KVmkScGx1bSVQMzccMzdlY3Q0LCM0b21vdGgNaWcS
dHQNdWd0HW8MZRl0aBwwc2kxHHN5ZHVjaw8OZHVjawwxa2V5HB1tZQslR3IZbAloGHJjMRQlUAhh
ZxwIaCZsHAgHdGgYYgcGYWRhYgcYbGFrYXphbQUXb3AFF29rImEXYW1wCkItbHNwcm91dAoecBRi
LWwKVmljdHJlZWItbARvDgRydS0PZR91ZCVHB3YtL0cOZW0cLHkhGgtpZDdoKmwZcG9rJVNsGWJy
bwVnbmVtCSJhZ25ldCtGM2ZldBdcJ2QNH3VvDR8dbyplLQ1ld2csZw8dbS9NdWsqaC1sZC9DbG95
c3QvRzd0bHkKSGF1bnQvRzVnMwpPbml4DXIZc2UlSHlwbm8GB2JieQYTbC9WDiRyYgpFEmN0ch8D
dAMkcgpDdWIsIjMZYWsKSAltLBIlSAltLBcxCkxpY2sJdW5nBm9mZhMKHnoTGmh5aAJuGmh5ZCtD
aDFzZXkKVDFnLWEGMWc3a2gxCkgCc2VhKmVhZAcPDmRlNSplYWsTKnQzeXUqdDNtaSJyLiBNaW0l
U2N5dGgvSnlueApFEmMhYnV6egVnbTMcFHMmClQ2b3MFZ2lrM3APeTNhZG9zCkwLB3MNCSQKRWV2
ZSVWCwJlK0oOdGUrRmwzZSwcAnlnK09tMXl0JU9tN3QzAQFwcxgwH2FjdHlsKm4CbGF4GHJ0aWN1
bm8KWgtkb3MMDnRyZXMNB3QUaQ0HZyxhJg0HZywJImV3dHdvDGV3AAZhYnUkAG9yACVFeGVnZ3UA
ClQ1IWMADGEACksAcmEADml3AGl0AAoAYXAACk0ACkQAb2wACkcAaWdnbHkACkMSZmEAbGUAFGcA
aW4AFnIxICgACk5pZG8AY2gACkEAb3cAClIAHGlkZ2UAClAAcmkAV2VlAG9kACAAdGEAJU0AYXQA
dG8AZQoAaXIAXCcAKAApAApTACwKAG9uAGVsAC4AMAoAZXIAYW4AQ2gzAGFyAApWNQBlbgBhdXIA
YXMnJwAnLz0qfS9uLz0=

มันใช้วิธีการทางไวยากรณ์ที่มีกฎคั่นด้วยตัวอักษร NUL และวิธีการขยายตัวที่เรียบง่ายตามด้วยการแยกขึ้นบรรทัดใหม่และเลือกบรรทัดที่ต้องการ อินพุตคือผ่าน stdin ไม่มีการใช้ไฟล์ภายนอก

ในรายละเอียดเพิ่มเติม

ฉันได้เขียนโปรแกรม Java ซึ่งใช้กลยุทธ์การสร้างไวยากรณ์หลายประการและกลยุทธ์การสร้างไวยากรณ์สองถึง GolfScript สองรายการและแสดงผลเป็นจำนวนมากของโปรแกรม GS เพื่อสร้างสตริงใหม่ ในกรณีนี้ชุดค่าผสมที่ชนะคือตัวสร้างไวยากรณ์โลภที่มีค่าเท่ากับ 2 และรีแม็ทเอ็นจิ้น ตัวสร้างไวยากรณ์โลภเริ่มต้นด้วยไวยากรณ์

<0> ::= "Bulbasaur\nIvysaur\nVenusaur\n..."

และมองหาลำดับของเทอร์มินัลซ้ำและไม่ใช่เทอร์มินัลซ้ำ ๆ ในด้านขวาซึ่งเมื่อดึงออกมาในกฎที่กำหนดเทอร์มินัลใหม่จะทำให้การลดลงมากที่สุดในจำนวนเทอร์มินัลและไม่ใช่เทอร์มินัล . ขีด จำกัด คือจุดตัดที่ซึ่งการลดลงนั้นไม่คุ้มค่าอีกต่อไป

ไม่ใช่เทอร์มินัลจะถูกเรียงลำดับทอพอโลยีแล้วนับจาก 0 ขึ้น หากพวกเขาซ้อนทับค่าอักขระใด ๆ ซึ่งเป็นเทอร์มินัลโปรแกรมการแมปจะสร้างการแมปกฎใหม่ไปยังเทอร์มินัลนั้น (เช่นถ้ามีกฎ 0 ถึง 37 และอักขระช่องว่างเกิดขึ้นจะจับคู่กับอักขระช่องว่างแล้วอัปเดต RHS ของกฎทั้งหมดเพื่อใช้ 38 แทน 32) ทางด้านขวามือของกฎจะถูกต่อกัน, คั่นด้วย NUL และ GolfScript ที่เขียนด้วยมือชิ้นเล็ก ๆ เพื่อขยายไวยากรณ์จะถูกผนวกเข้าด้วยกัน


2
+1 คุณจะพูดเกี่ยวกับวิธีการของคุณอีกสักนิดไหม?
DavidC

3

brainfuck , 9337 ไบต์

ค่อนข้างแน่ใจว่าฉันจะหาทางออกที่สั้นกว่า ^^

--->->>>>->>->>>-->->>>>->>>-->->>>>>->>>-->->>->>>->>>>>-->->>->>>>>>>>-->->>->>>>->>>-->->>>>>>>>-->->->>>>>>>>-->->>->>>>>>>-->->->>>>>>>-->->>>->>>>-->->>>>>>>>>>-->->>>>>>-->->->>>>->-->->>>>>>>>-->->>>>>>-->->>>>>>>>>-->->>>>>>>-->->->>>->>->-->->->>>>->>>-->->>>->>>>-->->>->>>>-->->>->>>-->->>>>>-->->>>->>>>-->->->>>>>-->->->>>>>>>>-->->->>>>>->>>-->->>>>>->>-->-->>-->-->->>>>>>>->-->->>>>>>>>>-->->>>>>->>-->-->>-->-->->>>>>>>>-->->>>>>>>>-->->>>>->>>>-->->>>>->>>>-->->>>>>>-->->>>>>->>>>-->->>>>>>>>>>-->->>>>>>>>>>-->->>>->>-->->>>>->>-->->>>>>>-->->>>>>-->->>>>>>>>>-->->->>->>-->->->>->>>>>-->->>>>>->>-->->>>>>>>>-->->>>>>>>-->->>>>>>>-->->>>>>>-->->>>>>->>-->->>>>>>>-->->>>>>>>-->->->>>>>-->->>>>>->>>-->->>>>>>>>-->->>>->>>>>-->->>>>>->>-->->>>>>>>>>-->->>>>>>->>>-->->>>->-->->->>->>>->-->->>->>->>->>-->->->>>>>-->->->>>>>>-->->->>>->>>-->->>>>>>>>>>-->->>>>>>>>>>-->->>>>>>>>>>>-->->>>>->>>>>-->->>>>->>>>>>-->->>>>>>>-->->>->>>>>>-->->>>>>-->->>>>>->-->->->>>>->>>-->->>>>>>>>-->->>>>>>>-->->->>>>>>>>-->->->>>>>>>-->->->>>>>>>-->>-->->>>>>-->->>>>>>-->->>>>-->->>>>>>>-->->>>>>>-->->>>-->->>>>>>>>-->->>>>>>>>-->->->>>>>-->->->>>>>>-->->>>>->>-->->>>>-->->>>>>>>-->->>>>>-->->>->>>>-->->>>>>>>-->->>>>>>>-->->>>>>>>>>-->->>>>>>>>-->->>>>>>>>>-->->>>>>>-->->->>>>->>-->->>>>>>>>>-->->>>>>>>>->>-->->>>>>>>>>-->->>>>>>>-->->>>>>>>-->->>>>>>>-->->>>>>>-->->>->>>>>-->->->>>>>->-->->->>>->>>>->>-->->>>>>->-->->>->>>->-->->>>>>>>-->->>->>>>>-->->>->>>>-->->>->>>>>-->->>-->-->->>>>-->->>>>>>>-->->>>>-->->>>>>->>>>>-->->->>>->>-->->>>>>>-->->->>>>>-->->->>>>->>>-->->>->>->>>>-->->->>>->>-->->>>>>-->->>>>>-->->->>>>>>>-->->>>>>>>-->->>->>>>>-->->>>>>>>-->->>->>>>>-->->>->>>->>-->->->>>>>-->->->>>>>>>-->->>>>>->>>>>-->->>>>>->>-->->>>>>>>>-->->->>>>>-->->>>>>>>-->->>->>>>>-->->>->>>>->>>-->->>->>>>>>>-->->>>>>>-->->>>+[-[>+++++++<-]<+++]>---->->->-->--->+++>->+++>->->--->>->>->+++>->->--->++>--->-->->->+++>->->--->->--->+++>->-->+++>-->--->--->->--->->--->+++>->-->--->-->--->-->-->--->->--->+++>->-->>+++>->--->--->+>->->-->->->-->--->--->++>+++>->->-->->->-->--->--->->-->+++>->->-->-->->--->--->->+++>->--->->->-->--->--->+>--->->+++>->-->--->--->->->->->--->->--->->--->--->--->++>--->--->--->-->--->--->>+++>-->->-->+++>--->->--->--->--->->-->-->-->--->+>-->--->--->--->>--->+>-->--->--->--->-->->->-->--->+>-->--->--->--->-->->--->+>+++>->->+++>->+++>--->+>+++>->-->--->+++>->--->--->+>->--->+++>->-->>--->>--->+++>->-->>--->->-->+++>-->->--->->->--->-->-->--->+>-->-->+++>--->--->->--->+>+++>-->--->--->->--->+>+++>-->--->->--->->--->>--->+>+++>-->--->->-->+++>->--->--->+>-->--->-->->+++>-->+>++>--->++>--->+>-->--->-->->-->-->+++>--->+>-->--->-->->->--->--->-->--->+>-->--->-->->+++>-->+>++>-->++>--->+>-->--->-->->-->-->-->--->+>-->--->-->-->-->-->--->--->->-->--->--->+++>-->->>--->->-->--->--->+++>--->-->--->--->++>->-->->-->>--->+>-->-->--->->+++>-->--->->--->>-->--->--->-->>->->--->--->--->++>-->--->--->-->>->->--->--->--->++>->--->+++>->--->>-->-->--->+++>->--->+>--->--->-->->--->--->>-->-->-->-->--->++>-->-->--->->-->->-->--->--->+>+++>->+++>->--->+>+++>->+++>->--->--->->--->++>--->-->-->-->+++>->--->++>--->-->-->-->-->->--->--->->-->--->-->--->->->--->->->--->->->-->-->--->+>--->-->>->--->--->+>--->->->-->+++>-->--->+>->>--->->--->-->--->>-->-->--->->--->-->--->+>+++>-->-->--->>--->+>->-->-->--->+++>->--->--->>->-->>-->-->->--->--->->->--->+++>-->-->-->--->--->+>-->-->-->>+++>--->--->+>-->-->-->>--->-->->-->--->+>-->-->-->>->+++>->--->--->->--->->+++>--->>+++>--->+++>--->->+++>--->->-->+++>-->+++>>+++>-->--->+>+++>--->--->-->->--->+>+++>--->--->-->-->--->--->+>+++>--->--->+++>-->->--->->--->-->-->->->->-->->->--->++>--->--->->-->-->--->--->-->-->--->++>-->--->->->--->--->--->--->-->-->--->++>--->-->->+++>--->-->-->-->--->++>--->-->->+++>--->->->--->-->--->>--->-->--->->--->--->--->>->+++>->--->-->--->->--->>-->-->--->-->--->+>-->-->>->+++>--->+>+++>->-->--->+++>->--->--->+>-->-->>->-->-->--->--->+>-->-->>--->->-->--->+>+++>--->-->--->-->-->->--->--->+>+++>--->-->--->->-->-->--->>+++>->--->--->->--->--->++>--->--->->-->--->->-->--->->-->--->->-->-->--->+>--->--->-->--->->--->>--->-->-->--->--->>->-->-->--->->--->+>->-->--->+>--->--->-->-->--->--->->--->->-->-->>->->--->->--->>+++>->->-->>--->>+++>->-->->--->->--->>--->-->--->+++>->--->+>-->-->>--->->->-->>->--->--->--->>>->-->-->--->>->+++>--->--->>--->>-->-->--->-->--->->--->++>-->-->->-->->--->--->->-->--->--->->->-->--->--->--->->>--->--->--->->->--->--->->>--->--->--->->->-->->--->->->--->-->-->--->--->+>+++>->-->>+++>-->--->>-->->-->-->-->-->--->--->--->>-->->-->-->-->--->--->+++>-->--->>-->--->-->-->->->-->--->--->>-->--->--->-->-->--->--->++>--->--->>-->-->--->--->+>--->>--->-->->-->--->+>--->>--->-->-->--->->--->+++>-->->--->>--->++>+++>-->--->--->-->+++>--->>+++>-->--->+++>->-->--->+++>-->--->>-->->->--->+++>--->+>--->+++>--->->+++>--->>-->-->--->--->--->-->--->+>--->+++>-->-->-->--->--->+>->+++>->>->--->+>->+++>->-->-->--->--->+>->+++>+>+>-->-->--->--->+>--->>->--->--->->--->>>-->>--->->-->--->--->->+++>--->->>>--->+>+++>--->-->+++>->--->+>-->-->->-->->--->++>+++>->->-->->--->+>+++>--->-->-->+++>->->--->>>+++>->+++>--->-->->--->>+++>->->+++>->--->->-->->->-->--->->--->->--->--->--->++>+++>->-->->--->-->-->--->>-->-->->--->-->-->--->>-->+++>->--->-->-->--->+>-->->>--->-->-->--->+>-->+++>-->>->--->--->+>-->+++>->->+++>->--->>+++>--->->->-->--->>+++>--->->->-->->->--->->--->->-->--->+++>--->->>-->--->+>-->-->->-->+++>>--->->->->-->--->->-->-->--->++>+++>->--->-->->--->+>-->-->->->--->->--->->->+++>->-->-->-->--->->->+++>--->-->-->+++>-->->--->->->+++>--->-->-->-->->--->--->+>--->>->>-->--->+>--->>+[-[>+++++++<-]<++++]>---->>++>>--->+++>>+++>++>->--->>+++>->>+++>++>->--->->>++>++>>+++>++>->--->+>+++>+++>->+>+++>++>->>->--->+>+++>+++>->+>>>>+++>++>--->+>+++>+++>->--->>+++>->->--->+++>-->++>--->->+>>>--->>+++>->+>+++>->+>>>--->>>+++>>+>+++>--->>>--->+>+++>+>>->--->--->>--->--->>+>+++>--->+++>->--->>++>+>+>>->+>->>>--->>>>->>>--->++>+++>->++>++>+++>--->>>>->->--->>>--->>--->->++>>->--->>--->->++>>+++>+>+>+++>--->>--->->++>>+++>+>--->++>+++>+>+>+++>+>+++>--->++>+++>+>--->-->+++>+>>--->+++>--->>+++>->+++>--->--->--->>+++>->+++>--->--->+++>->+++>++>>--->->->--->+++>->--->>--->->+++>-->+++>++>--->++>+++>--->-->+++>++>--->+++>+++>++>->>+++>->>--->--->+++>+++>++>->>>+++>>+++>--->-->--->->+++>->+++>++>+>++>+>+++>--->-->--->->+++>->--->++>+++>--->-->--->->+++>-->++>>>++>--->-->--->->+++>->+++>++>+>++>+>+++>--->-->--->->+++>->--->++>+++>--->-->--->->+++>->--->++>++>--->+>>>+>+++>--->->->--->+>>>+>+++>--->>>--->->++>>--->--->-->--->-->--->++>>+>+++>>>>--->+>--->++>++>>->--->++>+>+>--->>--->++>++>>->+>++>+>+>--->+++>++>--->+++>+>--->-->+++>>--->+++>+>--->->->->--->>+++>--->-->>+++>+++>+>--->->--->>>--->>++>+>>--->>+++>->+++>>--->>+++>->+++>>>-->+>--->->>++>+++>++>+++>+>--->->>++>+++>+>+++>+>+++>--->++>--->++>>>+>+>--->++>++>++>+>->--->+++>--->--->>+++>--->+>+++>--->>>->>--->+++>++>--->>>->->++>-->->--->-->+++>>->++>-->->--->--->+++>++>->>->--->>->--->+>>+++>--->>--->-->->+++>--->>--->+>+++>--->->->-->+++>++>--->++>>--->>+++>>--->--->+++>++>--->>+++>>--->--->+++>--->->>--->>+++>>--->--->->+++>+>+++>--->->--->->+++>--->++>+++>->+++>--->->+++>--->->>+++>->+++>>+++>+>--->--->+++>-->+++>+++>--->--->--->+++>-->+++>+++>->>--->--->+++>-->+++>+++>+>--->--->>>>>>--->->+++>++>+>--->>>>--->--->++>--->>>>--->->--->-->+>->>>--->>>>--->--->>++>+>+++>-->+++>+++>>--->--->>++>+>+++>-->->++>>>--->-->>+++>->++>->>--->-->->+++>+++>>>>->--->-->+++>>>+>--->>+++>++>->+>+++>--->++>+++>--->--->->+++>>+++>--->+++>>+++>--->--->+++>->>--->+++>>+++>--->--->->+++>--->--->+++>++>++>>+>--->+>>--->--->+++>++>++>>+>+++>++>--->--->+++>->+>>+>-->+++>+>->--->++>+++>->++>+++>--->++>+++>->->--->+++>--->+++>>>>--->++>>--->++>+++>++>++>--->-->->--->+>>->--->--->++>->--->+++>+++>>>>->>->--->+>>+++>->>+>>->--->-->+++>>+>>->--->->+++>++>++>+>>->--->-->>++>++>+++>->--->->++>--->-->--->++>->+++>--->>>>--->->->--->++>+++>--->++>->+++>--->--->->--->++>--->++>++>>>->--->->+++>>+>+++>->--->--->+++>>>-->+>->+++>->>--->+++>-->>++>++>++>+>>--->+++>-->>++>++>++>+>+++>->--->+>++>--->+++>++>>--->--->+++>->+++>--->+++>->--->->--->+>+>+++>++>>>>--->->--->+>+>+++>++>-->+++>+++>++>--->+++>--->-->->--->+>++>++>++>--->++>+++>+>+>--->++>++>--->>>>>--->++>++>--->++>+++>->+++>+++>->++>--->++>+++>->->+++>++>--->+>+++>+++>++>>>->--->--->+++>++>++>>>+++>--->++>+++>++>++>+++>>->+++>+++>++>--->->+++>->>>+++>--->+++>>+++>->->+++>--->-->+++>>->>>++>--->+++>>+++>->--->++>++>--->+++>+>+++>->->++>--->+++>+>+++>->+>--->>--->--->->+>+>--->--->+>>--->+++>-->->+>+++>>->--->+>->++>-->--->+++>>>-->+>+++>--->++>>>--->--->+++>++>+>+++>->--->>--->++>>--->->--->--->+++>++>->+++>>--->--->+++>++>--->->+++>->--->--->-->->+++>->+++>->+++>>--->+++>+++>--->->+++>>--->++>--->+>+>+++>--->+++>>+++>>>--->->+++>--->+++>->>+++>++>--->+>+++>>+>>+++>++>--->--->>+++>->>+++>++>--->>+++>->->++>+++>++>--->->+>+++>++>->+>>--->->+>+++>>+>+++>->--->++>+++>--->++>+>+++>--->++>+++>--->++>+>+++>--->>--->->>->+++>->+++>-->+>->>--->+++>++>+++>->>+++>-->--->->->+>--->-->++>++>+++>--->+++>+++>--->->+++>>--->--->+++>>+>->>>--->++>->+++>+>--->++>--->--->++>->+++>++>+++>++>+++>--->->--->++>->+++>++>+++>++>--->+>>--->--->>--->+>--->+++>--->--->>--->+[-<++++]<<<,[>[>+<-]>[<++++++++++>-]<<<++++++++[>------<-]>[>+<-],]>-[>>[>]+[<]<-]>>[>]>[.>]

ลองออนไลน์!


2

q / kdb , 789 + 77 = 866 bytes

วิธีการแก้:

/ encoding pokemon.txt into 'q' text file (not added to byte count, not golfed)
`:q 0:enlist "c"$2 sv'8 cut (raze 3_'0b vs'4h$(asc distinct p)?p:lower first read0`:pokemon.txt),000000b

/ checking length of q file (note: file is written with trailing newline \r\n, so could/should be 787 bytes)
hcount `:q
789

/ decoding q and look-up of value
@[;0;upper](";"vs(" '().;",.Q.a)2 sv'5 cut -6_(,/)0b vs'4h$"\n"sv(0:)`:q)@-1+

ตัวอย่าง:

q)@[;0;upper](";"vs(" '().;",.Q.a)2 sv'5 cut -6_(,/)0b vs'4h$"\n"sv(0:)`:q)@-1+45
"Vileplume"
q)@[;0;upper](";"vs(" '().;",.Q.a)2 sv'5 cut -6_(,/)0b vs'4h$"\n"sv(0:)`:q)@-1+151
"Mew"
q)@[;0;upper](";"vs(" '().;",.Q.a)2 sv'5 cut -6_(,/)0b vs'4h$"\n"sv(0:)`:q)@-1+1
"Bulbasaur"

คำอธิบาย:

กลยุทธ์ (เช่นโซลูชันอื่น ๆ ) คือการเข้ารหัสอักขระ 8 บิตแต่ละตัวใน 5 บิตโดยการสร้างตัวอักษรขนาดเล็กที่มี 32 ตัวอักษรค้นหาดัชนีของตัวอักษรแต่ละตัวในรายการอินพุต (0..31) แล้วเข้ารหัสเหล่านี้ เป็นตัวเลข 5 บิต (ซึ่งต้องรวมและแปลงเป็นตัวอักษร 8 บิตเพื่อเขียนลงใน Q)

การถอดรหัสกำลังทำสิ่งที่ตรงกันข้ามสิ่งนี้เป็นที่รู้กันว่าตัวอักษร" '().;abcdefghijklmnopqrstuvwxyz"ดังนั้นแยกอินพุตเป็นชุด 5 บิตและแปลงกลับเป็นจำนวนเต็มดัชนีเป็นตัวอักษร แยกส่วนนี้;แล้วทำดัชนีลงในช่องด้วยอินพุตของผู้ใช้ (ลบ 1 เนื่องจากการจัดทำดัชนี 0) และ (ใหม่) ใช้อักษรตัวแรกเป็นตัวพิมพ์ใหญ่

@[;0;upper] (";" vs " '().;abcdefghijklmnopqrstuvwxyz"2 sv'5 cut -6_raze 0b vs'4h$ "\n" sv read0 `:q)@-1+ / ungolfed decoder
                                                                                                      -1+ / same as doing 'x-1', subtract 1 from input
                                                                                                     @    / index in to item on the left
            (                                                                                       )     / do all this together
                                                                                           read0 `:q      / read text file 'q'
                                                                                   "\n" sv                / join back newlines (as q breaks text files on newlines)
                                                                               4h$                        / cast char array to bytes
                                                                         0b vs'                           / convert each byte to binary (boolean list)
                                                                    raze                                  / flatten list
                                                                 -6_                                      / drop the 6 padding bits added to align 5/8-bits
                                                           5 cut                                          / chop into lists of 5-bit lengths
                                                      2 sv'                                               / convert each boolean list back to an integer
                    " '().;abcdefghijklmnopqrstuvwxyz"                                                    / index into our lookup table at each index
             ";" vs                                                                                       / break this string up at semicolons
 @[;0;upper]                                                                                              / apply 'upper' to each first character in the result

หมายเหตุ:

เพิ่ม 13 ไบต์ (879) พิเศษหากเราต้องใช้ประโยชน์จากตัวที่สองMของMr. Mime:

{@[x;0,1+x ss" ";upper]}(";"vs(" '().;",.Q.a)2 sv'5 cut -6_(,/)0b vs'4h$"\n"sv(0:)`:q)@-1+

2

Python 3, 178 + 1253 = 1431 ไบต์

import re
def f(l,N,p='',n=0,w=''):
 for s in open(l,'r',1,'utf-8').read().split('\0'):t=re.match('\d*',s)[0];n=int(t or n);w=w[:n]+s[len(t):];p+=w[:-1]*(ord(w[-1])==N)
 return p

ขอมอบเครดิตให้กับwizzwizz4สำหรับฟังก์ชั่นการบีบอัด Bookworm: วิเคราะห์รูปแบบพจนานุกรม Bookworm

ต้องผ่านชื่อไฟล์และหมายเลขโปเกมอนที่ต้องการไปยังฟังก์ชัน ส่งคืนสตริงที่มีโปเกมอน

ตัวอย่าง: f('pokemans', 1')ส่งคืน 'Bulbasaur'

ไฟล์ใช้การบีบอัด BookWorm แต่เนื่องจากโปเกมอนจะต้องเรียงตามตัวอักษรเพื่อให้ทำงานได้พวกเขาจึงลงท้ายด้วยตัวละครที่มีลำดับตรงกับหมายเลข (เช่น Nidorino ปรากฏเป็น "7o!", "7o" เป็นสตริงที่บีบอัด " Nidorino "และ"! "กำลัง \ 33) รายการถูกกำหนดโดย null null \ ตั้งแต่ตัวอักษรโปเกมอนเริ่มต้นที่ \ 1

เนื่องจากความซับซ้อนของการคลายบีบอัด BookWorm จึงเป็นเรื่องที่เลวร้ายยิ่งกว่าการจดรายการฮาร์ดโค้ดพื้นฐานจากนั้นแยกและทำดัชนี แต่มันเป็นคำตอบที่แปลกใหม่ดังนั้นฉันคิดว่าฉันโพสต์ไว้แล้ว

ดัมพ์แบบเลขฐานสิบหกของไฟล์ 'pokemans':

41 62 72 61 3f 00 31 65 72 6f 64 61 63 74 79 6c c2 8e 00 6c 61 6b 61 7a 61 6d 41 00 72 62 6f 6b 18 00 32 63 61 6e 69 6e 65 3b 00 74 69 63 75 6e 6f 90 00 30 42 65 65 64 72 69 6c 6c 0f 00 32 6c 6c 73 70 72 6f 75 74 45 00 31 6c 61 73 74 6f 69 73 65 09 00 75 6c 62 61 73 61 75 72 01 00 32 74 74 65 72 66 72 65 65 0c 00 30 43 61 74 65 72 70 69 65 0a 00 31 68 61 6e 73 65 79 71 00 33 72 69 7a 61 72 64 06 00 34 6d 61 6e 64 65 72 04 00 35 65 6c 65 6f 6e 05 00 31 6c 65 66 61 62 6c 65 24 00 35 69 72 79 23 00 32 6f 79 73 74 65 72 5b 00 31 75 62 6f 6e 65 68 00 30 44 65 77 67 6f 6e 67 57 00 44 69 67 6c 65 74 74 32 00 32 74 74 6f c2 84 00 30 44 6f 64 72 69 6f 55 00 33 75 6f 54 00 31 72 61 67 6f 6e 61 69 72 c2 94 00 36 69 74 65 c2 95 00 33 74 69 6e 69 c2 93 00 32 6f 77 73 65 65 60 00 31 75 67 74 72 69 6f 33 00 30 45 65 76 65 65 c2 85 00 31 6b61 6e 73 17 00 6c 65 63 74 61 62 75 7a 7a 7d 00 35 72 6f 64 65 65 00 31 78 65 67 67 75 74 65 66 00 37 6f 72 67 00 30 46 61 72 66 65 74 63 68 27 64 53 00 31 65 61 72 6f 77 16 00 6c 61 72 65 6f 6e c2 88 00 30 47 61 73 74 6c 79 5c 00 31 65 6e 67 61 72 5e 00 32 6f 64 75 64 65 4a 00 31 6c 6f 6f 6d 2c 00 6f 6c 62 61 74 2a 00 33 64 65 65 6e 76 00 34 75 63 6b 37 00 33 65 6d 4c 00 31 72 61 76 65 6c 65 72 4b 00 32 69 6d 65 72 58 00 32 6f 77 6c 69 74 68 3a 00 31 79 61 72 61 64 6f 73 c2 82 00 30 48 61 75 6e 74 65 72 5d 00 31 69 74 6d 6f 6e 63 68 61 6e 6b 00 36 6c 65 65 6a 00 31 6f 72 73 65 61 74 00 79 70 6e 6f 61 00 30 49 76 79 73 61 75 72 02 00 4a 69 67 67 6c 79 70 75 66 66 27 00 31 6f 6c 74 65 6f 6e c2 87 00 79 6e 78 7c 00 30 4b 61 62 75 74 6f c2 8c 00 36 70 73 c2 8d 00 32 64 61 62 72 61 40 00 32 6b 75 6e 61 0e 00 32 6e 67 61 73 6b 68 616e 73 00 31 69 6e 67 6c 65 72 63 00 6f 66 66 69 6e 67 6d 00 72 61 62 62 79 62 00 30 4c 61 70 72 61 73 c2 83 00 4c 69 63 6b 69 74 75 6e 67 6c 00 4d 61 63 68 61 6d 70 44 00 34 6f 6b 65 43 00 35 70 42 00 32 67 69 6b 61 72 70 c2 81 00 33 6d 61 72 7e 00 6e 65 6d 69 74 65 51 00 35 74 6f 6e 52 00 32 6e 6b 65 79 38 00 72 6f 77 61 6b 69 00 31 65 6f 77 74 68 34 00 32 74 61 70 6f 64 0b 00 77 c2 97 00 33 74 77 6f c2 96 00 31 6f 6c 74 72 65 73 c2 92 00 72 2e 20 4d 69 6d 65 7a 00 75 6b 59 00 30 4e 69 64 6f 6b 69 6e 67 22 00 34 71 75 65 65 6e 1f 00 72 61 6e 20 28 66 29 1d 00 39 6d 29 20 00 35 69 6e 61 1e 00 37 6f 21 00 32 6e 65 74 61 6c 65 73 26 00 30 4f 64 64 69 73 68 2b 00 31 6d 61 6e 79 74 65 c2 8a 00 33 73 74 61 72 c2 8b 00 31 6e 69 78 5f 00 30 50 61 72 61 73 2e 00 35 65 63 74 2f 00 31 65 72 73 69 61 6e 35 00 69 64 67 65 6f 74 12 00 35 6f 7474 6f 11 00 79 10 00 32 6b 61 63 68 75 19 00 6e 73 69 72 7f 00 31 6f 6c 69 77 61 67 3c 00 35 68 69 72 6c 3d 00 72 61 74 68 3e 00 32 6e 79 74 61 4d 00 72 79 67 6f 6e c2 89 00 31 72 69 6d 65 61 70 65 39 00 73 79 64 75 63 6b 36 00 30 52 61 69 63 68 75 1a 00 32 70 69 64 61 73 68 4 74 00 63 69 74 61 65 14 00 33 74 61 74 61 13 00 31 68 79 64 6f 6e 70 00 33 68 6f 72 6e 6f 00 30 53 61 6e 64 73 68 72 65 77 1b 00 35 6c 61 73 68 1c 00 31 63 79 74 68 65 72 7b 00 65 61 64 72 61 75 00 33 6b 69 6e 67 77 00 32 65 6c 56 00 31 68 65 6c 6c 64 65 72 5a 00 6c 6f 77 62 72 6f 50 00 34 70 6f 6b 65 4f 00 31 6e 6f 72 6c 61 78 c2 8f 00 70 65 61 72 6f 77 15 00 71 75 69 72 74 6c 65 07 00 74 61 72 6d 69 65 79 00 34 79 75 78 00 30 54 61 6e 67 65 6c 61 72 00 32 75 72 6f 73 c2 80 00 31 65 6e 74 61 63 6f 6f 6c 48 00 36 72 75 65 6c 49 00 30 56 61 70 6f 72 65 6f6e c2 86 00 31 65 6e 6f 6d 6f 74 68 31 00 34 6e 61 74 30 00 33 75 73 61 75 72 03 00 31 69 63 74 72 65 65 62 65 6c 6c 47 00 32 6c 65 70 6c 75 6d 65 2d 00 31 6f 6c 74 6f 72 62 64 00 75 6c 70 69 78 25 00 30 57 61 72 74 6f 72 74 6c 65 08 00 31 65 65 64 6c 65 0d 00 33 70 69 6e 62 65 6c 6 00 46a 7a 69 6e 67 6e 00 31 69 67 67 6c 79 74 75 66 66 28 00 30 5a 61 70 64 6f 73 c2 91 00 31 75 62 61 74 29 00


1
1286 ไบต์เมื่อใช้สตริงง่ายแทนแฟ้ม (ลองออนไลน์) [ bit.ly/2O0pZK0] แต่แนวคิดของการบีบอัดไฟล์เป็นสิ่งที่ดี
pixma140

1

Pure Bash (ไม่มี coreutils), 1173 ไบต์

read n;set {Bulba,Ivy,Venu}saur Char{mander,meleon,izard} {Squi,Warto}rtle Blastoise Caterpie Metapod Butterfree Weedle Kakuna Beedrill Pidge{y,otto,ot} Rat{tata,icate} {Sp,F}earow Ekans Arbok {Pika,Rai}chu Sands{hrew,lash} Nido{ran\ \(f\),rina,queen,ran\ \(m\),rino,king} Clefa{iry,ble} Vulpix Ninetales {Jigglyp,Wigglyt}uff {Zu,Gol}bat Oddish Gloom Vileplume Paras{,ect} Veno{nat,moth} Diglett Dugtrio Meowth Persian {Psy,Gol}duck Mankey Primeape Growlith Arcanine Poliw{ag,hirl,rath} {A,Kada}bra Alakazam Mach{op,oke,amp} Bellsprout {Weepin,Victree}bell Tentac{ool,ruel} Geodude Graveler Golem Ponyta Rapidash Slow{poke,bro} Magne{mite,ton} Farfetch\'d Dod{uo,rio} Seel Dewgong Grimer Muk {Shelld,Cloyst}er Gastly Haunter Gengar Onix Drowsee Hypno Krabby Kingler Voltorb Electrode Exeggut{e,or} Cubone Marowak Hitmon{lee,chan} Lickitung {Koff,Weez}ing Rhy{horn,don} Chansey Tangela Kangaskhan Horsea Seadra Goldeen Seaking Star{yu,mie} Mr.\ Mime Scyther Jynx Electabuzz Magmar Pinsir Tauros Magikarp Gyarados Lapras Ditto Eevee {Vapore,Jolte,Flare,Poryg}on Oma{nyte,star} Kabuto{,ps} Aerodactyl Snorlax Articuno Zapdos Moltres Dra{tini,gon{air,ite}} Mew{two,};echo ${!n}

ลองออนไลน์!

ใช้การขยายตัวรั้งเหมือนคำตอบนี้แต่ใช้เพียงทุบตี builtins read, และset ชุดอาร์กิวเมนต์บรรทัดคำสั่งไปยังผู้ที่ได้รับเพื่อให้ตัวอย่างเช่นเป็น คือการขยายตัวทางอ้อมซึ่งขยายตัวเข้าสู่ตัวแปรของตัวแปรที่มีชื่อของechoset$1Bulbasaur${!n}$n


1

JavaScript, 1277 1276 ไบต์

n=>";Bulbasaur;Ivysaur;Venusaur;Charmander;Charmeleon;Charizard;Squirtle;Wartortle;Blastoise;Caterpie;Metapod;Butterfree;Weedle;Kakuna;Beedrill;Pidgey;Pidgeotto;Pidgeot;Rattata;Raticate;Spearow;Fearow;Ekans;Arbok;Pikachu;Raichu;Sandshrew;Sandslash;Nidoran (f);Nidorina;Nidoqueen;Nidoran (m);Nidorino;Nidoking;Clefairy;Clefable;Vulpix;Ninetales;Jigglypuff;Wigglytuff;Zubat;Golbat;Oddish;Gloom;Vileplume;Paras;Parasect;Venonat;Venomoth;Diglett;Dugtrio;Meowth;Persian;Psyduck;Golduck;Mankey;Primeape;Growlith;Arcanine;Poliwag;Poliwhirl;Poliwrath;Abra;Kadabra;Alakazam;Machop;Machoke;Machamp;Bellsprout;Weepinbell;Victreebell;Tentacool;Tentacruel;Geodude;Graveler;Golem;Ponyta;Rapidash;Slowpoke;Slowbro;Magnemite;Magneton;Farfetch'd;Doduo;Dodrio;Seel;Dewgong;Grimer;Muk;Shellder;Cloyster;Gastly;Haunter;Gengar;Onix;Drowsee;Hypno;Krabby;Kingler;Voltorb;Electrode;Exeggute;Exeggutor;Cubone;Marowak;Hitmonlee;Hitmonchan;Lickitung;Koffing;Weezing;Rhyhorn;Rhydon;Chansey;Tangela;Kangaskhan;Horsea;Seadra;Goldeen;Seaking;Staryu;Starmie;Mr. Mime;Scyther;Jynx;Electabuzz;Magmar;Pinsir;Tauros;Magikarp;Gyarados;Lapras;Ditto;Eevee;Vaporeon;Jolteon;Flareon;Porygon;Omanyte;Omastar;Kabuto;Kabutops;Aerodactyl;Snorlax;Articuno;Zapdos;Moltres;Dratini;Dragonair;Dragonite;Mewtwo;Mew".split`;`[n]

ลองออนไลน์! โหน JJ เพราะไม่มี JS ธรรมดา


1
คุณสามารถกำจัดวงเล็บไปรอบ ๆ(n)และคุณสามารถใช้.split`;`แทนเพื่อบันทึก 4 ไบต์
ข้อมูลหมดอายุ

@ExpiredData ขอบคุณ
facepalm42

2
ฉันคิดว่าโทรศัพท์ของฉันสำลักใน URL TIO แต่คุณสามารถบันทึก byte โดยนำหน้าสตริงด้วย;และสร้างดัชนีจากnไม่ใช่n-1
โคล

1
-83 ไบต์ขณะนี้: 1,193 ไบต์ - คุณสามารถลองได้ที่นี่ - ฉันเพียงแค่ดัดแปลง@ Chrisตัวแปรทุบตีเพียวกับ expasion รั้ง Node.js
pixma140

1
@ pixma140 ไม่ฉันแค่คิดว่ามันเป็นสิ่งที่ยอดเยี่ยม ฉันอาจจะตัดให้สั้นลงสักวันหนึ่งได้ไหม?
facepalm42
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.