Saya mempersembahkan kepada Anda ujian! Tes Anda adalah untuk menguji. Tes ini untuk menguji peserta ujian dengan tes yang diberikan tester kepada Anda, dalam jumlah kode uji waktu. Khususnya, Anda akan memberikan tes pilihan ganda yang telah Anda terima sebagai input.
Dalam tantangan ini, Anda harus mengambil input seperti ini:
1. Our site is called Programming Puzzles & Code ________.
A: Debugging
*B: Golf
C: Hockey
D: Programming
2. What is the *most* popular tag on our site?
A: [debug]
B: [program]
*C: [code-golf]
D: [number]
E: [c++]
3. We are part of the ________ Exchange network.
*A: Stack
B: Code
C: Programmer
D: Hockey
4. Is this the first question?
A: Yes
*B: No
5. Is this the last question?
*A: Yes
B: No
Dan ini adalah contoh dari tes yang diambil:
1. Our site is called Programming Puzzles & Code ________.
A: Debugging
B: Golf
C: Hockey
D: Programming
answer: B
correct!
2. What is the *most* popular tag on our site?
A: [debug]
B: [program]
C: [code-golf]
D: [number]
E: [c++]
answer: C
correct!
3. We are part of the ________ Exchange network.
A: Stack
B: Code
C: Programmer
D: Hockey
answer: B
incorrect! the answer was A
4. Is this the first question?
A: Yes
B: No
answer: B
correct!
5. Is this the last question?
A: Yes
B: No
answer: B
incorrect! the answer was A
overview:
3 correct, 2 incorrect (60%)
3. We are part of the ________ Exchange network.
you chose B: Code
the answer was A: Stack
5. Is this the last question?
you chose B: No
the answer was A: Yes
Spesifikasi formal:
- Memasukkan
- Jika sebuah garis dimulai dengan angka diikuti dengan titik dan spasi, itu adalah pertanyaan dengan angka itu. Angka akan selalu mulai dari 1 dan naik 1 setiap pertanyaan.
- Jika sebuah baris dimulai dengan tanda bintang opsional, huruf, titik dua, dan kemudian spasi, itu adalah jawaban. Jawaban juga akan selalu berurutan. Hanya akan ada satu jawaban yang benar per pertanyaan.
- Garis tidak akan dimulai dengan cara lain selain cara yang disebutkan sebelumnya.
- Input dapat diterima dengan cara apa pun (membaca dari file, stdin, dll.) Tetapi tidak boleh di-hardcode ke dalam program Anda.
- Output (fase pengambilan tes)
- Pertama, cetak setiap pertanyaan secara berurutan. Cetak pertanyaan dan jawabannya sebagai masukan yang diterima, tetapi jangan cetak tanda bintang yang menunjukkan jawaban yang benar.
- Kemudian, cetak baris baru dan
"answer: ". Tunggu input pengguna. Input pengguna akan selalu sesuai dengan jawaban. - Jika jawaban yang benar (yang bertanda bintang) sama dengan yang di input pengguna, keluaran
"correct!". Kalau tidak, output"incorrect! the answer was " + correct_letter. - Pisahkan setiap pertanyaan dengan baris kosong, lalu ulangi langkah-langkah output sebelumnya sampai tidak ada lagi pertanyaan.
- Output (fase ikhtisar)
- Cetak
"overview: "dan kemudian baris baru. - Cetak
"{number of correct answers} correct, {incorrect answers} incorrect ({percent correct, rounded to the nearest whole number}%)"(tentu saja mengganti frasa dalam kurung kurawal dengan nilai masing-masing). Kemudian cetak garis kosong untuk penspasian. - Sekarang, untuk setiap pertanyaan yang salah, cetak pertanyaan (bukan jawabannya), lalu pada baris baru
"you chose " + answer_you_chose, dan pada baris lain"the answer was " + correct_answer. Pisahkan setiap ikhtisar jawaban yang salah dengan baris kosong.
- Cetak
- Untuk mengurangi kecurangan dengan menginterpretasikan hal-hal secara harfiah, ketika diberi output yang sama di sini, dan input yang sama dalam fase tes, program Anda harus menampilkan hal yang persis sama dengan output sampel.
Ini adalah kode-golf ; menang kode terpendek! (Dan mendapat nilai A + (tanda centang hijau)!)

\d\.,\w:dan\*di tengah pertanyaan / jawaban. (Misalnya saat ini*dapat dihilangkan dengany/*//, sementara cara yang benar panjang sepertis/^\*//.)