Add interactive option
This commit is contained in:
parent
122cd0fa73
commit
ff8f12c134
6 changed files with 112 additions and 5 deletions
|
@ -140,6 +140,62 @@ int main(int argc, char** argv) {
|
|||
cout << "a + b = " << a + b << " != " << n << endl;
|
||||
return 1; // WA
|
||||
}
|
||||
}
|
||||
</pre>
|
||||
<h2>3. Interactive (CPP)</h2>
|
||||
<hr>
|
||||
<p>
|
||||
Để sử dụng chức năng này, cần viết một chương trình C++ pass vào 1 argument <code>input_file</code> tương ứng file input.
|
||||
</p>
|
||||
<p>
|
||||
Để test chương trình trên máy tính với tư cách thí sinh, có thể dùng lệnh như sau (Windows):
|
||||
<pre class="code2">
|
||||
main.exe [input_file]</pre>
|
||||
hoặc thay bằng <code>./main</code> trên Linux/MacOS.
|
||||
</p>
|
||||
<h2>Return: </h2>
|
||||
<p>
|
||||
Chương trình trả về giá trị:
|
||||
<ul>
|
||||
<li> 0 nếu AC (100% điểm)</li>
|
||||
<li> 1 nếu WA (0 điểm)</li>
|
||||
</ul>
|
||||
</p>
|
||||
|
||||
<h2>Ví dụ: </h2>
|
||||
<p>Chương trình sau dùng để chấm bài toán guessgame: Người chơi phải tìm 1 số bí mật n (n chứa trong file input). Mỗi lần họ được hỏi một số x, và chương trình sẽ trả về "SMALLER", "BIGGER" hoặc "HOLA" dựa trên giá trị của n và x. Cần tìm ra n sau không quá 31 câu hỏi. </p>
|
||||
<pre class="code2">
|
||||
#include <bits/stdc++.h>
|
||||
using namespace std;
|
||||
|
||||
void read(long long& guess) {
|
||||
if (!(cin >> guess)) exit(1); // Nếu không có dòng này, chương trình sẽ chờ vô hạn
|
||||
if (guess < 1 || guess > 2e9) exit(1);
|
||||
}
|
||||
|
||||
int main(int argc, char *argv[]) {
|
||||
ifstream inp(argv[1]);
|
||||
int N, guesses = 0;
|
||||
long long guess;
|
||||
inp >> N;
|
||||
|
||||
while (guess != N && guesses < 31) {
|
||||
read(guess);
|
||||
if (guess == N) {
|
||||
cout << "HOLA" << endl;
|
||||
} else if (guess > N) {
|
||||
cout << "SMALLER" << endl;
|
||||
} else {
|
||||
cout << "BIGGER" << endl;
|
||||
}
|
||||
guesses++;
|
||||
}
|
||||
|
||||
if (guesses <= 31)
|
||||
return 0; // AC
|
||||
else {
|
||||
return 1; // WA
|
||||
}
|
||||
}
|
||||
</pre>
|
||||
</article>
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue