답안 #1033180

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
1033180 2024-07-24T13:52:47 Z adaawf Super Dango Maker (JOI22_dango3) C++17
컴파일 오류
0 ms 0 KB
#include <iostream>
#include <vector>
//#include "dango3.h"
using namespace std;
vector<int> trya(vector<int> v, int x) {
    vector<int> vv;
    for (int w : v) {
        if (w != x) {
            vv.push_back(w);
        }
    }
    return vv;
}
/*void Print(vector<int> v) {
    for (int w : v) cout << w << " ";
    cout << '\n';
}
int Query(vector<int> v) {
    Print(v);
    int k;
    cin >> k;
    return k;
}
void Answer(vector<int> v) {
    Print(v);
}
void Solve(int n, int m);
int main() {
    int n = 4, m = 4;
    Solve(n, m);
}*/
int k = 8;
vector<int> remo(vector<int> vv, int h, int k) {
    vector<int> va = vv;
    for (int i = 0; i < k; i++) va = trya(va, va[h]);
    return va;
}
void check(vector<int> &vv, int &h, int x = k) {
    if (Query(remo(vv, h, x)) != 0) {
        vv = remo(vv, h, x);
        return;
    }
    int l = 1, r = x, res = 0;
    while (l <= r) {
        int mid = (l + r) / 2;
        if (Query(remo(vv, h, mid)) != 0) {
            res = mid;
            l = mid + 1;
        }
        else r = mid - 1;
    }
    if (res == 0) h++;
    vv = remo(vv, h, res);
}
void Solve(int n, int m) {
    vector<int> v;
    vector<vector<int>> res;
    for (int i = 1; i <= n * m; i++) {
        v.push_back(i);
    }
    for (int i = 1; i <= m; i++) {
        vector<int> vv = v;
        int h = 0;
        while (vv.size() > n) {
            if (h < vv.size() - k + 1) {
                check(vv, h);
            }
            else check(vv, h, vv.size() - h);
        }
        res.push_back(vv);
        for (int w : vv) v = trya(v, w);
    }
    for (auto w : res) Answer(w);
}

Compilation message

dango3.cpp: In function 'void check(std::vector<int>&, int&, int)':
dango3.cpp:39:9: error: 'Query' was not declared in this scope
   39 |     if (Query(remo(vv, h, x)) != 0) {
      |         ^~~~~
dango3.cpp:46:13: error: 'Query' was not declared in this scope
   46 |         if (Query(remo(vv, h, mid)) != 0) {
      |             ^~~~~
dango3.cpp: In function 'void Solve(int, int)':
dango3.cpp:64:26: warning: comparison of integer expressions of different signedness: 'std::vector<int>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   64 |         while (vv.size() > n) {
      |                ~~~~~~~~~~^~~
dango3.cpp:65:19: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   65 |             if (h < vv.size() - k + 1) {
      |                 ~~^~~~~~~~~~~~~~~~~~~
dango3.cpp:73:24: error: 'Answer' was not declared in this scope
   73 |     for (auto w : res) Answer(w);
      |                        ^~~~~~