164622025-05-02 10:21:51szilKutyák és macskákcpp17Forditási hiba
#include "KutyakMacskak.h"
#include <bits/stdc++.h>

using namespace std;

std::vector<int> find_order(int N, int M) {
    swap(N, M);
    int best = 1;
    for (int i = 2; i <= N; i++) {
        if (ask(1, best, i) == best) best = i;
    }
    int ptr = 1, kutya = -1;
    for (int i = 1; i <= M; i++) {
        for (; ptr <= N; ptr++) {
            if (ptr == best) continue;
            if (ask(i, ptr, best) == ptr) {
                break;
            }
        }
        if (ptr > N) {
            kutya = i;
            break;
        }
    }
    vector<int> ord(N);
    iota(ord.begin(), ord.end(), 1);
    __insertion_sort(ord.begin(), ord.end(), [&](int a, int b){
        return ask(kutya, a, b) == a;
    });

    return ord;
}
Forditási hiba
open /var/local/lib/isolate/403/box/a.out: no such file or directory
In file included from /usr/include/c++/12/algorithm:61,
                 from /usr/include/x86_64-linux-gnu/c++/12/bits/stdc++.h:65,
                 from main.cpp:2:
/usr/include/c++/12/bits/stl_algo.h: In instantiation of 'void std::__insertion_sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<int*, vector<int> >; _Compare = find_order(int, int)::<lambda(int, int)>]':
main.cpp:27:21:   required from here
/usr/include/c++/12/bits/stl_algo.h:1809:21: error: no match for call to '(find_order(int, int)::<lambda(int, int)>) (__gnu_cxx::__normal_iterator<int*, std::vector<int> >&, __gnu_cxx::__normal_iterator<int*, std::vector<int> >&)'
 1809 |           if (__comp(__i, __first))
      |               ~~~~~~^~~~~~~~~~~~~~
main.cpp:27:46: note: candidate: 'find_order(int, int)::<lambda(int, int)>'
   27 |     __insertion_sort(ord.begin(), ord.end(), [&](int a, int b){
      |                                              ^
main.cpp:27:46: note:   no known conversion for argument 1 from '__gnu_cxx::__normal_iterator<int*, std::vector<int> >' to 'int'