답안 #1066107

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
1066107 2024-08-19T15:07:15 Z Andrey Meetings (JOI19_meetings) C++14
컴파일 오류
0 ms 0 KB
#include "meetings.h"
#include<bits/stdc++.h>
using namespace std;

mt19937 rng(69420);
vector<pair<int,int>> ans(0);

void dude(vector<int> haha) {
    if(haha.size() == 1) {
        return;
    }
    if(haha.size() == 2) {
        ans.push_back({haha[0],haha[1]});
        return;
    }
    random_shuffle(haha.begin(),haha.end(),rng());
    int p = rng()%haha.size();
    vector<vector<int>> idk(0);
    vector<int> troll(0);
    for(int i = 0; i < haha.size(); i++) {
        if(i != p) {
            bool yeah = true;
            for(int j = 0; j < troll.size(); j++) {
                if(troll[j] == haha[i]) {
                    yeah = false;
                    idk[j].push_back(haha[i]);
                    break;
                }
                else {
                    int c = Query(haha[p],troll[j],haha[i]);
                    if(c != haha[p]) {
                        yeah = false;
                        idk[j].push_back(haha[i]);
                        troll[j] = c;
                        break;
                    }
                }
            }
            if(yeah) {
                idk.push_back({haha[i]});
                troll.push_back(haha[i]);
            }
        }
    }
    for(int i = 0; i < idk.size(); i++) {
        ans.push_back({haha[p],troll[i]});
        dude(idk[i]);
    }
}

void Solve(int n) {
    vector<int> haha(0);
    for(int i = 0; i < n; i++) {
        haha.push_back(i);
    }
    dude(haha);
    for(int i = 0; i < ans.size(); i++) {
        Bridge(min(ans[i].first,ans[i].second),max(ans[i].first,ans[i].second));
    }
}

Compilation message

meetings.cpp: In function 'void dude(std::vector<int>)':
meetings.cpp:20:22: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   20 |     for(int i = 0; i < haha.size(); i++) {
      |                    ~~^~~~~~~~~~~~~
meetings.cpp:23:30: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   23 |             for(int j = 0; j < troll.size(); j++) {
      |                            ~~^~~~~~~~~~~~~~
meetings.cpp:45:22: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::vector<int> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   45 |     for(int i = 0; i < idk.size(); i++) {
      |                    ~~^~~~~~~~~~~~
meetings.cpp: In function 'void Solve(int)':
meetings.cpp:57:22: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::pair<int, int> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   57 |     for(int i = 0; i < ans.size(); i++) {
      |                    ~~^~~~~~~~~~~~
In file included from /usr/include/c++/10/algorithm:62,
                 from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:65,
                 from meetings.cpp:2:
/usr/include/c++/10/bits/stl_algo.h: In instantiation of 'void std::random_shuffle(_RAIter, _RAIter, _Generator&&) [with _RAIter = __gnu_cxx::__normal_iterator<int*, std::vector<int> >; _Generator = long unsigned int]':
meetings.cpp:16:49:   required from here
/usr/include/c++/10/bits/stl_algo.h:4636:48: error: expression cannot be used as a function
 4636 |    _RandomAccessIterator __j = __first + __rand((__i - __first) + 1);
      |                                          ~~~~~~^~~~~~~~~~~~~~~~~~~~~