답안 #744258

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
744258 2023-05-18T10:03:31 Z MON 도서관 (JOI18_library) C++14
컴파일 오류
0 ms 0 KB
#include <cstdio>
#include <vector>
#include "library.h"
using namespace std;

void Solve(int N)
{
	vector<int> m(N,0); int queries = 0;
	vector<int> vecini[N + 1]; int luat[N] = {0};
	for(int i = 0 ; i < N - 1 ; i++)
        {
            for(int j = 0 ; j < N ; j++)
                {
                    m[i] = 1;
                    m[j] = 1;

                    int sunt = Query(m) & 1; queries++;
                    if(sunt) vecini[i].emplace_back(j),vecini[j].emplace_back(i);

                    m[i] = 0;
                    m[j] = 0;
                }
        }

    vector<int> ans; if(queries > 20000) exit(1);
    for(int i = 0; i < N ; i++)
        {
            if(vecini[i].size() == 1)
                {
                    ans.emplace_back(i + 1);
                    luat[i] = 1; break;
                }
        }

    while(ans.size() != N)
        {
            for(auto &it : vecini[ans.back()])
                {
                    if(!luat[it])
                        {
                            luat[it] = 1;
                            ans.emplace_back(it + 1);
                            break;
                        }
                }
        }

    Answer(ans);
}

Compilation message

library.cpp: In function 'void Solve(int)':
library.cpp:25:42: error: 'exit' was not declared in this scope
   25 |     vector<int> ans; if(queries > 20000) exit(1);
      |                                          ^~~~
library.cpp:35:22: warning: comparison of integer expressions of different signedness: 'std::vector<int>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   35 |     while(ans.size() != N)
      |           ~~~~~~~~~~~^~~~