Dalam bahasa pemrograman C , ada formasi yang disebut digraf dan trigraph yang merupakan urutan dua dan tiga karakter yang dievaluasi menjadi karakter yang kurang umum. Misalnya, Anda dapat menggunakan ??-
jika keyboard Anda tidak punya ~
.
Teks yang diberikan, ganti semua instance dari digraf dan trigraph berikut (sisi kiri) dengan karakter yang benar, lebih pendek, golf (sisi kanan).
??= #
??/ \
??' ^
??( [
??) ]
??! |
??< {
??> }
??- ~
<: [
:> ]
<% {
%> }
%: #
Memasukkan
Input adalah teks ASCII. Membuntuti baris baru diizinkan. Tidak perlu kode C yang valid.
Keluaran
Keluaran adalah teks yang sama, dengan semua contoh digraph dan trigraph di atas diganti dengan versi singkat, dievaluasi dari kiri ke kanan. Membuntuti baris baru diizinkan. Tidak perlu kode C yang valid.
Uji Kasus
=>
memisahkan input dan output.
if (true ??!??! false) { => if (true || false) {
??-arr.indexOf(n) => ~arr.indexOf(n)
function f(??) { console.log('test??'); } => function f(] { console.log('test^); }
/* comment :> :) *??/ => /* comment ] :) *\
%:What am I doing??!!??` => `#What am I doing|!??
??(??)??(??) <:-- not a palindrome => [][] [-- not a palindrome
?????????? => ??????????
int f(int??(??) a) ??< return a??(0??)??'a??(1??) + "??/n"; ??> => int f(int[] a) { return a[0]^a[1] + "\n"; }
??<:>??<% => {]{%
<:> => [>
<::> => []
:>> => ]>
#\^[]|{}~ => #\^[]|{}~
: > => : >
??=%: => ##
"??=%:"
adalah kasus uji lain yang relevan: di C, ini berarti di "#%:"
mana %:
tidak istimewa, tapi saya pikir output yang Anda harapkan "##"
.