本題為互動題。
經典猜數字遊戲,數字範圍為0~2147483647,每當你猜一個數字,你將能得知你猜的答案是否正確,如果不正確,你能得知正確答案比你猜的答案大還是小,現在你一共可以猜32次,請在32次內猜出答案。
本題的作答方法如下:
1. 本題主要code僅限以c++作答
2. 你的程式可以呼叫以下三個函數 :
int init();
void start();
int guess(int x);
3. 在程式剛開始時,你必須先呼叫init(),並取得其回傳值T,代表你要玩猜數字的次數。
4. 每次遊戲一開始必須先呼叫start()代表遊戲開始。
5. 之後你便能呼叫guess(x)最多32次,參數x代表你猜的數字,若你猜對則會回傳0,若正確答案比你猜的小則會回傳-1,若正確答案比你猜的大則會回傳1。
6. 當你猜對後(也就是接收到guess回傳0),你便可以再次呼叫start()以開始下一次的遊戲,若已經是最後一輪(第T局)則必須將程式結束(return 0);
7. 若你的程式呼叫32次guess以後仍然沒有猜出答案,你的程式將會被強制結束(你不需要處理此情況),並得到WA。
8. 將你寫好的程式碼作為輸出,用任何語言印出皆可(下面範例用python印出)
9. 任何不符上述規定的行為(包含任何輸出輸入行為)將可能造成很可怕的結果(包含RE、SE、WA、TLE...)。
範例程式(python)(此程式符合上述規定,但不一定可以拿到AC):
print(''' int main(){ int t=init(); for(int _t=1;_t<=t;_t++) { start(); int res; bool flag=false; for(int i=0;i<32;i++) { res=guess(i); if(res==0) { // guess correct flag=true; break; } else if(res==1) { // answer should be bigger } else if(res==-1) { // answer should be smaller } } } return 0; } ''')
本題沒有輸入。
本題沒有輸出。
題目有提供judge函數的函數原型,為了避免CE(會得到WA(Runtime Rrror)),你們可以在本機把函數寫出來(內容空的沒差),確定編譯過了再把它刪掉然後上傳。
編號 | 身分 | 題目 | 主題 | 人氣 | 發表日期 |
沒有發現任何「解題報告」 |