Tandai makalah IMT UKMT

22

Saya melakukan IMC tahun ini. Apakah ada orang lain di sini yang melakukannya?

Dalam makalah Tantangan Matematika Menengah UKMT, ada dua puluh lima pertanyaan. Lima belas pertanyaan pertama memberi Anda lima nilai jika Anda melakukannya dengan benar. Untuk sepuluh pertanyaan lainnya, Anda mendapatkan enam nilai untuk membuatnya benar. Dalam sepuluh pertanyaan terakhir, Anda kehilangan nilai jika Anda salah! Untuk pertanyaan enam belas hingga dua puluh, Anda kehilangan satu nilai dan untuk lima pertanyaan terakhir, Anda kehilangan dua nilai. Jika Anda membiarkan pertanyaan kosong, tidak ada tanda yang diberikan atau dikurangi. Tidak ada nilai yang dikurangkan karena salah satu dari lima belas pertanyaan pertama salah. Makalah ini pilihan ganda; Anda dapat memilih jawaban apa pun dari A, B, C, D, dan E untuk setiap pertanyaan. Selalu ada satu jawaban yang tepat untuk setiap pertanyaan.

Buat program / fungsi yang membutuhkan dua string dan menghasilkan skor. String pertama akan menjadi jawaban Anda untuk kertas. Jika Anda melewatkan pertanyaan, gunakan spasi, byte nol atau garis bawah. Kalau tidak, gunakan huruf A, B, C, D atau E untuk jawabannya. Anda dapat memiliki input huruf besar atau kecil. String kedua akan menjadi jawaban yang benar untuk setiap pertanyaan di koran. Program / fungsi Anda kemudian akan menghasilkan skor. Buat kode Anda singkat.

Kasus uji:

DDDDDDDDDDDDDDDDDDDDDDDDD
ABCDEABCDEABCDEABCDEABCDE
15

BDBEACCECEDDBDABBCBDAEBCD
BDBEACCECEDDBDABBCBDAEBCD
135

DBACBDCDBAEDABCDBEECACDC_
DBADBDCDBAEDABCDBEEDACDCA
117

_________________________
DABDABDABDABDABDABDABDABD
0

DBADBDCDBAEDABCD_E__A__C_
DBADBDCDBAEDABCDBEEDACDCA
99

_______________BBBBBBBBBB
AAAAAAAAAAAAAAAAAAAAAAAAA
-15
0WJYxW9FMN
sumber
Haruskah "Untuk pertanyaan lima belas hingga dua puluh" menjadi "Untuk pertanyaan enam belas hingga dua puluh"?
Greg Martin
1
Bisakah kita menggunakan byte nol untuk mewakili pertanyaan yang dilewati?
betseg
2
Dan bukankah skor pertama harus 27-12 = 15?
Greg Martin
1
Adakah yang melihat / mengerjakan makalah UKMT? Mereka sangat menyenangkan. Lihat teka-teki di ukmt.org.uk. Saya mendapatkan sebagian besar ide saya untuk tantangan dari pertanyaan matematika.
0WJYxW9FMN
1
Kasing uji Anda mungkin harus menyertakan kiriman dengan skor negatif.
Dennis

Jawaban:

7

C, 88 87 86 81 byte

c,d;i(char*a,char*b){for(c=d=0;*b;c++,a++)d+=*a^*b++?*a?-c/15-c/20:0:5+c/15;d=d;}

Cobalah online!

Ahemone
sumber
1
Karena ABCDEsemua di bawah poin 95, saya pikir Anda dapat menggunakan *a<95.
Yytsi
2
Karena pertanyaannya memungkinkan mengambil byte nol, bukan garis bawah, -(c/15+c/20)*(*a<95)bisa menjadi *a?-c/15-c/20:0.
Dennis
80 byte
ceilingcat
6

Jelly , 26 23 22 byte

=s5ị"“HHHQP‘D¤_2Fæ.n⁶¥

Cobalah online!

Bagaimana itu bekerja

=s5ị"“HHHQP‘D¤_2Fæ.n⁶¥  Main link. Argument: t (answer to test), s (answer sheet)

=                       Test the characters of t and s for equality.
 s5                     Split into chunks of length 5.
             ¤          Combine the two preceding links into a niladic chain.
     “HHHQP‘              Yield the code points, i.e., [72, 72, 72, 81, 80].
            D             Decimal; yield [[7, 2], [7, 2], [7, 2], [8, 1], [8, 0]].
   ị"                   Index zipwith; use the Booleans in each chunk to index into
                        the corresponding pair. Indexing is 1-based and modular, so
                        1 gives the first element and 0 the last.
              _2        Subtract 2 from each result.
                F       Flatten the resulting 5x5 matrix.
                     ¥  Combine the two preceding links into a dyadic chain.
                   n⁶     Test the characters of t for inequality with space.
                 æ.     Take the dot product of the integers to the left and the
                        Booleans to the right.
Dennis
sumber
5

JavaScript (ES6), 70 68 66 byte

Disimpan 2 byte berkat Neil
Disimpan 2 byte berkat ETHproductions

Mengambil jawaban pelamar adan jawaban yang benarc dalam sintaks currying (a)(c). Berharap pertanyaan yang dilewati akan ditandai dengan spasi.

a=>c=>a.replace(/\S/g,(a,i)=>s+=a==c[j=i>14,i]?5+j:-j^i>19,s=0)&&s

Uji kasus

Arnauld
sumber
Jika Anda mengubah pertanyaan yang dilompati menjadi karakter non-kata (mis. Spasi) maka Anda dapat menggunakannya /\w/guntuk menghemat dua byte.
Neil
Saya pikir -j-(i>19) sama dengan -j^i>19, meskipun saya tidak yakin.
ETHproduksi
@ ETHproductions Memang. Ini diuraikan sebagai (-j)^(i>19)demikian, ya, ini berfungsi.
Arnauld
4

Python 2 , 86 85 83 77 byte

f=lambda t,s,i=24:~i and(i/10*-(14<i<t[i]<'_'),5+i/15)[t[i]==s[i]]+f(t,s,i-1)

Cobalah online!

Bagaimana itu bekerja

Ini mendefinisikan fungsi rekursif f yang mengambil dua argumen tidak optimal: t (jawaban atas tes) dan s (lembar jawaban). Ketika dipanggil hanya dengan dua argumen ini, f menginisialisasi i hingga 24 , indeks terakhir dari kedua t dan s .

Setiap kali f dipanggil, pertama-tama memeriksa apakah ~ i (bitwise BUKAN dari i ) adalah benar / tidak-nol. Sejak ~ (-1) = 0 , ini terjadi setelah i mencapai nilai -1 . Jika i = -1 , ~ i = 0 dikembalikan, tetapi karena saya mengambil nilai dari 24 hingga 0 (semua indeks t dan s ), kode berikut anddijalankan dan f mengembalikan hasilnya.

Sementara saya non-negatif, berikut ini terjadi. Pertama,

(i/10*-(14<i<t[i]<'_'),5+i/15)

menciptakan tuple dengan panjang 2 :

  • Hasil bagi i/10adalah 0 jika 0 ≤ i <10 , 1 jika 10 ≤ i <20 , dan 2 jika 20 ≤ i <25 . Perbandingan berantai 14<i<t[i]<'_'mengembalikan Benar jika dan hanya jika semua perbandingan individu mengembalikan Benar , yaitu, jika dan hanya jika saya ≥ 15 (kisaran pertanyaan dengan penalti), saya lebih kecil dari t [i] (selalu benar karena semua angka lebih kecil dari semua iterables di Python 2), dan t [i] bukan garis bawah.

    Jika perbandingan mengembalikan False , unary -mengembalikan 0 dan seluruh ekspresi bernilai 0 . Namun, jika perbandingan mengembalikan True , unary -mengembalikan -1 , sehingga seluruh ekspresi bernilai 0 jika 0 ≤ i <10 , -1 jika 10 ≤ i <20 , dan -2 jika 20 ≤ i <25 ; ini adalah hasil bersih untuk jawaban yang salah atau tidak ada untuk semua indeks i .

  • 5+i/15mengembalikan 5 + 0 = 5 jika 0 ≤ i <15 dan 5 + 1 = 6 jika 15 ≤ i <25 . Ini adalah hasil bersih untuk jawaban yang benar untuk semua indeks i .

Akhirnya, [t[i]==s[i]]pilih elemen pertama dari tuple yang dikonstruksi jika t [i] dan s [i] berbeda (jawaban salah atau tidak ada) dan elemen kedua jika sama (jawaban benar), lalu tambahkan nilai pengembalian f yang disebut dengan decremented saya untuk hasil itu. Setelah saya mencapai -1 , skor akhir telah dihitung dan dikembalikan oleh f .

Dennis
sumber
3

Mathematica, 114 byte

Tr@(m=MapThread)[#/.True->#2/.False->-#3&,{Tr/@Partition[m[Equal,#/."_"->u]/.u==_->0,5],{5,5,5,6,6},{0,0,0,1,2}}]&

Fungsi murni mengambil pasangan daftar karakter yang terurut dan mengembalikan integer. m[Equal,#/."_"->u]mengembalikan daftar boolean, kecuali untuk entri formulir yang tidak dievaluasi u=="B"di tempat-tempat di mana jawabannya setara "_"; lalu segera, u==_->0ubah entri yang tidak dievaluasi menjadi 0s. Tr/@Partition[...,5]menambahkan entri ini hingga 5 sekaligus, menghasilkan daftar seperti {4False+True, 4False+True, 4False+True, 4False+True, 4False+True}untuk test case pertama atau {5True, 5True, 5True, 2True, 2True}untuk case test terakhir. Kemudian di setiap koordinat, Truedan Falsedipetakan ke skor yang sesuai, dan hasilnya ditambahkan bersama.

Greg Martin
sumber
3

Jelly , 22 21 byte

Zm0ṁ135µ;t€⁶E€’;E€ṫ⁹S

Cobalah online!

Saya pikir jawaban @ Dennis mungkin bisa dikalahkan. Dan setelah mencoba sejumlah besar kemungkinan yang berbeda dan mengambil manfaat dari kebetulan yang luar biasa, akhirnya saya berhasil!

Program ini mengambil sepasang [jawaban siswa, jawaban benar] sebagai input, dan menggunakan spasi untuk menunjukkan jawaban yang hilang.

Penjelasan

Program ini menggunakan beberapa format input internal yang aneh untuk melacak apa yang terjadi, jadi kami akan mengambil langkah ini satu per satu.

  1. Z

    Ini mentranspos input, jadi kita akan berakhir dengan daftar 25 elemen, satu untuk setiap pertanyaan; setiap elemen berbentuk [jawaban siswa, jawaban benar]. Kami akan menunjukkan elemen formulir ini dengan huruf kapital; Auntuk pertanyaan 1, Buntuk pertanyaan 2, dan seterusnya. Jadi jawabannya saat ini sedang disimpan sebagai

    ABCDEFGHIJKLMNOPQRSTUVWXY
    
  2. m0

    Ini adalah operasi "palindrome yang lebih besar"; kami menambahkan kebalikan dari nilai saat ini ke nilai itu sendiri, menghasilkan ini:

    ABCDEFGHIJKLMNOPQRSTUVWXYYXWVUTSRQPONMLKJIHGFEDCBA
    
  3. ṁ135

    Operator (cetakan) melakukan sejumlah hal, tetapi dalam konteks ini, ia secara efektif mengambil 135 elemen pertama dari daftar tak terbatas yang dihasilkan dengan menambahkan nilai saat ini ke dirinya sendiri berulang kali. Itu memberi kita yang berikut ini (yang telah saya bagi ke dalam kelompok 50 elemen untuk kenyamanan; ini hanya daftar 135 pasangan secara internal):

    ABCDEFGHIJKLMNOPQRSTUVWXYYXWVUTSRQPONMLKJIHGFEDCBA
    ABCDEFGHIJKLMNOPQRSTUVWXYYXWVUTSRQPONMLKJIHGFEDCBA
    ABCDEFGHIJKLMNOPQRSTUVWXYYXWVUTSRQP
    
  4. µ;

    µmenetapkan nilai saat ini sebagai default baru untuk operan yang hilang. Kami kemudian segera melihat builtin yang hilang operan; ;menambahkan, tapi kami belum menentukan apa yang harus ditambahkan. Akibatnya, nilai saat ini ditambahkan ke nilai pada yang terakhir µ(yang juga merupakan nilai saat ini), memberi kami nilai 270-elemen saat ini:

    ABCDEFGHIJKLMNOPQRSTUVWXYYXWVUTSRQPONMLKJIHGFEDCBA
    ABCDEFGHIJKLMNOPQRSTUVWXYYXWVUTSRQPONMLKJIHGFEDCBA
    ABCDEFGHIJKLMNOPQRSTUVWXYYXWVUTSRQPABCDEFGHIJKLMNO
    PQRSTUVWXYYXWVUTSRQPONMLKJIHGFEDCBAABCDEFGHIJKLMNO
    PQRSTUVWXYYXWVUTSRQPONMLKJIHGFEDCBAABCDEFGHIJKLMNO
    PQRSTUVWXYYXWVUTSRQP
    
  5. t€⁶

    Ingat bahwa semua huruf kapital di atas mewakili pasangan [jawaban siswa, jawaban yang benar]. The t€⁶Operasi beroperasi pada masing-masing ( pair), dan menghapus ( t) spasi ( ) dari kedua sisi dari pasangan (yaitu setiap ruang yang muncul dalam pasangan). Jadi kita masih memiliki daftar yang berbelit-belit dari 270 pertanyaan dengan banyak pengulangan, tetapi mereka dalam bentuk [jawaban yang benar] (siswa tidak menjawab) atau [jawaban siswa, jawaban yang benar] (siswa menjawab).

  6. E€’

    The E€’operasi juga beroperasi pada setiap ( ) elemen, dan, karena penggunaan E, menggantikan elemen dengan 1 jika semua elemen adalah sama (yaitu siswa tidak menjawab atau mendapat pertanyaan kanan), atau 0 jika tidak semua unsur-unsurnya sama (yaitu siswa menjawab tetapi mendapat pertanyaan yang salah). Penggunaan di sini mengubah penomoran, artinya sekarang kita menggunakan -1 atau 0. Saya akan menggunakan huruf kecil untuk elemen jenis baru ini, yang menggunakan -1 untuk jawaban yang akan dihukum jika itu pada pertanyaan yang memenuhi syarat penalti, atau 0 untuk jawaban yang hilang atau benar:

    abcdefghijklmnopqrstuvwxyyxwvutsrqponmlkjihgfedcba
    abcdefghijklmnopqrstuvwxyyxwvutsrqponmlkjihgfedcba
    abcdefghijklmnopqrstuvwxyyxwvutsrqpabcdefghijklmno
    pqrstuvwxyyxwvutsrqponmlkjihgfedcbaabcdefghijklmno
    pqrstuvwxyyxwvutsrqponmlkjihgfedcbaabcdefghijklmno
    pqrstuvwxyyxwvutsrqp
    
  7. ;E€

    Kami telah melihat keduanya E€dan ;sebelumnya; kami menambahkan sesuatu ke nilai saat ini, dan kami menggunakan format 1 jika semua elemen sama, atau 0 jika ada yang berbeda (tidak kali ini!). Ada operan yang hilang di sini, jadi kami menggunakan nilai pada yang terakhir µ(yaitu output dari langkah 3). Kembali ke langkah 3, kami belum menghapus spasi dari elemen, jadi kami akan memiliki 1 untuk jawaban yang benar, atau 0 untuk jawaban yang salah atau tidak ada (karena spasi tidak akan cocok dengan jawaban yang benar). Mulai sekarang, saya akan menggunakan huruf kapital untuk ini 1 = benar, 0 = format salah / hilang, dan terus menggunakan huruf kecil untuk 0 = benar / hilang, -1 = salah. Nilai yang dihasilkan memiliki 405 elemen, dan terlihat seperti ini:

    abcdefghijklmnopqrstuvwxyyxwvutsrqponmlkjihgfedcba
    abcdefghijklmnopqrstuvwxyyxwvutsrqponmlkjihgfedcba
    abcdefghijklmnopqrstuvwxyyxwvutsrqpabcdefghijklmno
    pqrstuvwxyyxwvutsrqponmlkjihgfedcbaabcdefghijklmno
    pqrstuvwxyyxwvutsrqponmlkjihgfedcbaabcdefghijklmno
    pqrstuvwxyyxwvutsrqpABCDEFGHIJKLMNOPQRSTUVWXYYXWVU
    TSRQPONMLKJIHGFEDCBAABCDEFGHIJKLMNOPQRSTUVWXYYXWVU
    TSRQPONMLKJIHGFEDCBAABCDEFGHIJKLMNOPQRSTUVWXYYXWVU
    TSRQP
    
  8. ṫ⁹

    Di sinilah kebetulan luar biasa yang saya sebutkan sebelumnya. Sebelum berbicara tentang sedikit kode ini, saya ingin mengetahui di mana kita harus pergi.

    Setiap huruf kapital mewakili +1 untuk jawaban yang benar; 15 pertanyaan pertama ( Asampai O) muncul masing-masing 5 kali dalam string, dan 10 pertanyaan terakhir ( Psampai Y) muncul masing-masing 6 kali. Itu sedikit tidak benar-benar ajaib; Saya mendesain seperti itu ketika saya memilih angka 135 sebelumnya dalam program (yaitu 5 × 15 + 6 × 10), dan satu-satunya keberuntungan di sini adalah bahwa 5 kebetulan merupakan angka ganjil (jadi ini adalah 10 terakhir pertanyaan yang akhirnya muncul kali tambahan, bukan 10 yang pertama). Ke-15 surat segera sebelum ini berisi pmelalui t(pertanyaan penalti -1) sekali, dan sebelumnya, salinan tambahan dari pertanyaan berada di urutanu melalui y(pertanyaan penalti -2) dua kali. Itu juga bukan kebetulan; karena kami menggunakanm0PQRSTUVWXYYXWVUTSRQP, dan pertanyaan selanjutnya akan muncul secara alami di dekat bagian tengah string tersebut (jadi mengambil 15 pertanyaan terakhir "ekstra" akan memberikan lebih sedikit pengulangan untuk yang di dekat tepi; dan tentu saja, tidak mengherankan bahwa "tambahan" pertanyaan datang terakhir).

    Karena setiap huruf kecil mengurangi 1 dari skor untuk jawaban yang salah, tidak hilang, dan setiap huruf besar menambahkan 1 pada skor untuk jawaban yang benar, oleh karena itu kita hanya perlu mengambil 135 + 15 = 150 elemen terakhir untuk mendapatkan setiap jenis elemen jumlah kali yang benar. Perintah Jelly untuk mendapatkan substring di akhir daftar adalah ; Namun, itu tidak menentukan jumlah elemen yang Anda inginkan, melainkan indeks dari elemen pertama yang Anda inginkan. Kami memiliki 405 elemen pada titik ini, dan ingin 150, jadi kita perlu mulai dengan indeks (405 - 150 + 1), atau 256. Dalam suatu kebetulan yang luar biasa, 256 merupakan jumlah oktet berbeda yang ada, dan karenanya representasi singkat di Jelly (). Ada sangat sedikit yang bisa saya lakukan untuk mewujudkan hal ini; langkah 4 menambahkan 135 elemen ke awal daftar untuk mencapai angka bulat, tetapi fakta bahwa 135 elemen yang harus saya tambahkan (nilai yang sudah tersedia pada saat itu dalam program) sangat nyaman, dengan pada dasarnya nomor lain sama sekali tidak membantu dalam situasi ini.

    Beginilah nilai internal terlihat sekarang:

    uvwxyyxwvutsrqpABCDEFGHIJKLMNOPQRSTUVWXYYXWVUTSRQP
    ONMLKJIHGFEDCBAABCDEFGHIJKLMNOPQRSTUVWXYYXWVUTSRQP
    ONMLKJIHGFEDCBAABCDEFGHIJKLMNOPQRSTUVWXYYXWVUTSRQP
    
  9. S

    Akhirnya, sekarang kita punya daftar modifikasi untuk skor dari pertanyaan, yang perlu kita lakukan adalah menjumlahkannya dengan menggunakan S, dan kita selesai.


sumber
2

Python 2 , 93 91 byte

f=lambda a,b,n=0:a>""and((a[0]==b[0])*(5+n/15)or-(n/15*n/10)*(a[0]<"^"))+f(a[1:],b[1:],n+1)

Cobalah online!

-2 byte berkat @KritixiLithos


Memasukkan:

  • a: Jawaban siswa sebagai string, _untuk pertanyaan yang dilewati
  • b : jawaban yang benar
  • n: jumlah pertanyaan saat ini 0berbasis, default ke0
ovs
sumber
Anda dapat melakukan a[0]<'^'alih - alih a[0]!="_"menghemat byte
Kritixi Lithos
Saya pikir a>""dapat bekerja sebagai gantinyaa!=""
Kritixi Lithos
Jika cek awal Anda hanya mengakhiri rekursi ketika akosong, tidak bisakah Anda lakukan a and? String kosong itu salah, kalau tidak, itu benar.
FlipTack
@FlipTack ini akan melempar TypeError sebagai panggilan rekursif terakhir akan mengembalikan string
ovs
1

k, 52 byte

Fungsi mengambil 2 string, format per kasus uji

{+/(~x="_")*(+,/'(15 5 5#'0 -1 -2;15 10#'5 6))@'x=y}

Contoh:

k){+/(~x="_")*(+,/'(15 5 5#'0 -1 -2;15 10#'5 6))@'x=y}["DBADBDCDBAEDABCD_E__A__C_";"DBADBDCDBAEDABCDBEEDACDCA"]
99
skeevey
sumber
1

Haskell, 84 byte

i x a b|a>'Z'=0|a==b=6-0^x|1<2= -x
w x=x<$[1..5*3^0^x]
(sum.).zipWith3 i(w=<<[0..2])

Contoh penggunaan: ((sum.).zipWith3 i(w=<<[0..2])) "DBADBDCDBAEDABCD_E__A__C_" "DBADBDCDBAEDABCDBEEDACDCA" -> 99. Cobalah online! .

Cara kerjanya: i x a bmenghitung skor untuk satu jawaban adengan hasil yang benar bdan penalti xuntuk jawaban yang salah (nilai non-negatif). Jika Anda melewatkan ( a>'Z'), skornya adalah0 , jika jawabannya benar ( a==b), skornya adalah 6-0^x, jika tidak, skornya adalah -x.

w=<<[0..2]membuat daftar hukuman untuk semua 25 pertanyaan dengan menerapkan wuntuk 0, 1dan 2, yaitu membuat 5*3^0^xsalinan dari setiap nomor (-> 15 kali 0, 5 kali 1dan 5 kali 2).

zipWith3berlaku iuntuk daftar penalti, daftar jawaban dan daftar hasil yang benar. Akhirnya semua skor ditambahkan ( sum).

nimi
sumber
1

Oktaf, 61 54 byte

@(a,b)[a==b,-(a<95&a~=b)]*[(x=1:25>15)+5,(1:25>20)+x]'

Cobalah online!

Jawaban sebelumnya:

@(a,b)(m=a==b)*(((f=kron(z=[0 0 0:2],z|1)')&1)+5)-(a<95&~m)*f
rahnema1
sumber
1

JavaScript (ES6), 105 103 101 94 89 88 85 84 78 77 byte

Solusi pertama saya di ES6, mungkin bahkan pertama di Javascript Oo

f=(s,a,i=24)=>i+1&&(s[i]>'Z'?0:s[i]==a[i]?5+(i>14):~(i>19)*(i>14))+f(s,a,i-1)

s adalah solusi yang diajukan dan a adalah solusi yang benar. Keduanya akan diambil sebagai string.

Berikut adalah solusi non-rekursif pada 78 byte:

s=>a=>eval([...s].map((c,i)=>c>'Z'?0:c==a[i]?5+(i>14):~(i>19)*(i>14)).join`+`)

Mengambil input melalui sintaks currying.

Terima kasih kepada @ETHproductions untuk menghemat 9 byte! s[i]ke cdan (-1-(i>19|0))ke~(i>19) .

Terima kasih kepada @Kritixi Lithos karena telah menghemat satu byte! c=='_'untuk c>'Z'.

Cobalah online!

Yytsi
sumber
Berbicara ini menjadi solusi pertama Anda di JS, apa bahasa utama Anda untuk kode golf? Saya hanya pernah menggunakan Python dan brainfuck untuk kode golf.
0WJYxW9FMN
@ J843136028 Bahasa utama saya adalah Python, tapi saya telah bermain golf cukup banyak dengan C # juga. Haxe telah merumahkan beberapa saat, tetapi saya mungkin kembali ke sana.
Yytsi
Keren! Saya hanya pernah menggunakan brainfuck sekali, jadi bahasa utama saya adalah Python juga.
0WJYxW9FMN
@ J843136028 Ya, saya benar-benar melihat jawaban Anda di sana-sini. Sebagai hasil bio saya, saya tidak menghabiskan banyak waktu mencari solusi, sehingga mereka tidak menarik sebagian besar waktu. Saya hanya melakukan sedikit dengan BrainF * ck, karena butuh banyak waktu untuk menemukan solusi pendek, bahkan untuk masalah menengah.
Yytsi
Saya tahu apa maksud Anda tentang BF. Saya terkejut orang melihat jawaban saya.
0WJYxW9FMN