답안 #895233

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
895233 2023-12-29T16:12:37 Z Irate Hotter Colder (IOI10_hottercolder) C++14
컴파일 오류
0 ms 0 KB
#include<bits/stdc++.h>
using namespace std;
mt19937 rng(chrono::steady_clock::now().time_since_epoch().count());
int Guess(int n);
// int lastG = -1, X;
// int cnt = 0;
// int Guess(int n){
//     cnt++;
//     // cout << "GUESS: " << lastG << ", " << n << '\n';
//     if(lastG == -1 || abs(X - lastG) == abs(X - n)){
//         lastG = n;
//         return 0;
//     }
//     if(abs(X - lastG) > abs(X - n)){
//         lastG = n;
//         return 1;
//     }
//     lastG = n;
//     return -1;
// }
int HC(int n){
    int l = 1, r = n, last = 1;
    Guess(1);
    while(l < r){
        int mid = (l + r) >> 1;
        // cout << l << ", " << r << ": " << last << '\n';
        if(last == l){
            int num = Guess(r);
            last = r;
            // cout << "NUM: " << num << '\n';
            if(num == -1){
                if((l + r) % 2)r = mid;
                else r = mid - 1;
                int R = rng() % 2;
                if(R == 0){
                    Guess(l);
                    last = l;
                }
                else{
                    Guess(r);
                    last = r;
                }
                
            }
            else if(num == 1){
                l = mid + 1;
            }
            else{
                return (l + r) >> 1;
            }
        }
        else{
            int num = Guess(l);
            last = l;
            // cout << "NUM: " << num << '\n';
            if(num == 1){
                if((l + r) % 2)r = mid;
                else r = mid - 1;
            }
            else if(num == -1){
                l = mid + 1;
                int R = rng() % 2;
                if(R == 0){
                    Guess(r);
                    last = r;
                }
                else{
                    Guess(l);
                    last = l;
                }
            }
            else return (l + r) >> 1;
        }
    }
    return l;
}
// int main(){
    // for(int i = 1;i <= 300;++i){
    //     for(int j = 1;j <= i;++j){
    //         X = j;
    //         cnt = 0;
    //         lastG = -1;
    //         int found_num = HC(i);
    //         if(found_num != j){
    //             cout << "Wrong Answer: " << i << ", " << j << '\n';
    //             cout << "FOUND: " << found_num << '\n';
    //             break;
    //         }
    //         else if(cnt >= 16){
    //             cout << i << ", " << j << ": " << cnt << '\n';
    //         }
    //     }
    // }
}

Compilation message

hottercolder.cpp:94:1: error: expected declaration before '}' token
   94 | }
      | ^