fork download
  1. #include<iostream>
  2. char*q,x,b[584],*t=b,a[]=R"(space}exclamation|mark}quot"-number|sign}dolla!apercent!mam"%sand}apostrophe}left|par%3hesis}righ"Wasterisk}plus*<comma}hy)#n{minus}full|stop}solid"Ldigit|zero!Tone!Gtw"kthre#&four!Uiv#&six!Heve>^!_e6r!ani,1colon}semi!Fless{than8Eequal:$grea<s$2quesMj>EJoial|at}lQ9n|capit"?let('|Jes+\re|bracket}r5urse|C5M?%2circumflex|acXR}low|l:bgrave#'0=smaNy0+curly*s/Ytic4z)$/\$itilde)",*s=a;int c,z,l='{';int main(){for(;x=*s++;)if(z=x-32,x>96)*t++=x<l?z:"- "[x%l];else for(c=z*95+*s++-32,q=t-c/13,x=3+c%13;x--;)*t++=*q++;while(std::cin.get(x)){for(s=b,z=0,c=x<65?x-32:x<91?z=33:x<97?x-57:x<l?z=40:x-82;c--;)while(*s++);auto&o=std::cout<<s;(z?o.put(x&~32):o)<<"\n";}}
  3.  
Success #stdin #stdout 0s 3460KB
stdin
 !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~
stdout
SPACE
EXCLAMATION MARK
QUOTATION MARK
NUMBER SIGN
DOLLAR SIGN
PERCENT SIGN
AMPERSAND
APOSTROPHE
LEFT PARENTHESIS
RIGHT PARENTHESIS
ASTERISK
PLUS SIGN
COMMA
HYPHEN-MINUS
FULL STOP
SOLIDUS
DIGIT ZERO
DIGIT ONE
DIGIT TWO
DIGIT THREE
DIGIT FOUR
DIGIT FIVE
DIGIT SIX
DIGIT SEVEN
DIGIT EIGHT
DIGIT NINE
COLON
SEMICOLON
LESS-THAN SIGN
EQUALS SIGN
GREATER-THAN SIGN
QUESTION MARK
COMMERCIAL AT
LATIN CAPITAL LETTER A
LATIN CAPITAL LETTER B
LATIN CAPITAL LETTER C
LATIN CAPITAL LETTER D
LATIN CAPITAL LETTER E
LATIN CAPITAL LETTER F
LATIN CAPITAL LETTER G
LATIN CAPITAL LETTER H
LATIN CAPITAL LETTER I
LATIN CAPITAL LETTER J
LATIN CAPITAL LETTER K
LATIN CAPITAL LETTER L
LATIN CAPITAL LETTER M
LATIN CAPITAL LETTER N
LATIN CAPITAL LETTER O
LATIN CAPITAL LETTER P
LATIN CAPITAL LETTER Q
LATIN CAPITAL LETTER R
LATIN CAPITAL LETTER S
LATIN CAPITAL LETTER T
LATIN CAPITAL LETTER U
LATIN CAPITAL LETTER V
LATIN CAPITAL LETTER W
LATIN CAPITAL LETTER X
LATIN CAPITAL LETTER Y
LATIN CAPITAL LETTER Z
LEFT SQUARE BRACKET
REVERSE SOLIDUS
RIGHT SQUARE BRACKET
CIRCUMFLEX ACCENT
LOW LINE
GRAVE ACCENT
LATIN SMALL LETTER A
LATIN SMALL LETTER B
LATIN SMALL LETTER C
LATIN SMALL LETTER D
LATIN SMALL LETTER E
LATIN SMALL LETTER F
LATIN SMALL LETTER G
LATIN SMALL LETTER H
LATIN SMALL LETTER I
LATIN SMALL LETTER J
LATIN SMALL LETTER K
LATIN SMALL LETTER L
LATIN SMALL LETTER M
LATIN SMALL LETTER N
LATIN SMALL LETTER O
LATIN SMALL LETTER P
LATIN SMALL LETTER Q
LATIN SMALL LETTER R
LATIN SMALL LETTER S
LATIN SMALL LETTER T
LATIN SMALL LETTER U
LATIN SMALL LETTER V
LATIN SMALL LETTER W
LATIN SMALL LETTER X
LATIN SMALL LETTER Y
LATIN SMALL LETTER Z
LEFT CURLY BRACKET
VERTICAL LINE
RIGHT CURLY BRACKET
TILDE