답안 #160049

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
160049 2019-10-25T19:03:13 Z combi1k1 도서관 (JOI18_library) C++14
0 / 100
683 ms 608 KB
#include<bits/stdc++.h>
#include "library.h"

using namespace std;

vector<int> ASK;

/*int Query(vector<int> v)    {
    for(int x : v)  cout << x << ' ';
    cout << '\n';
    int x;  cin >> x;
    return  x;
}
int Answer(vector<int> v)   {
    for(int x : v)  cout << x << ' ';
}*/

int ask(vector<int> v)  {
    if (v.size() == 1)  return  1;
    for(int &x : ASK)   x = 0;
    for(int &x : v)     ASK[x - 1] = 1;

    return  Query(ASK);
}

int Connected(int u,vector<int> v)  {
    int a = ask(v); v.push_back(u);
    int b = ask(v); return  a >= b;
}
vector<int> g[1001];

void Solve(int n)   {
    if (n == 1) {   Answer({1});    return; }
    if (n == 2) {   Answer({1,2});  return; }

    ASK.resize(n);
    for(int i = 1 ; i <= n ; ++i)   {
        vector<int> v;

        int x = i;
        int y = 0;

        if (g[i].size() == 1)   y = g[i][0];
        if (g[i].size() == 2)   continue;

        for(int j = 1 ; j <= n ; ++j)   if (j != x && j != y)
            v.push_back(j);

        int l = 0;
        int r = v.size();

        for(; l < r ;)  {
            int m = (l + r) / 2;
            if (Connected(i,vector<int>(v.begin(),v.begin() + m + 1)))
                r = m;
            else
                l = m + 1;
        }
        if (l < v.size())   {
            x = v[l];   //cout << x << " sieu to khong lo\n";
            g[i].push_back(x);
            g[x].push_back(i);
        }
    }
    vector<int> res;

    for(int i = 1 ; i <= n ; ++i)   if (g[i].size() == 1)   {
        int x = i;

        for(int j = 0 ; j < n ; ++j)
        for(int u : g[x])   if (res.empty() || u != res.back()) {
            res.push_back(x);
            x = u;  break;
        }
        res.push_back(x);
        assert(res.size() <= n);

        Answer(res);    return;
    }
}
/*int main()  {
    int n;  cin >> n;
    Solve(n);
}*/

Compilation message

library.cpp: In function 'void Solve(int)':
library.cpp:59:15: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
         if (l < v.size())   {
             ~~^~~~~~~~~~
In file included from /usr/include/c++/7/cassert:44:0,
                 from /usr/include/x86_64-linux-gnu/c++/7/bits/stdc++.h:33,
                 from library.cpp:1:
library.cpp:76:27: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
         assert(res.size() <= n);
                ~~~~~~~~~~~^~~~
# 결과 실행 시간 메모리 Grader output
1 Incorrect 53 ms 380 KB Wrong Answer [4]
2 Incorrect 56 ms 248 KB Wrong Answer [4]
3 Incorrect 63 ms 376 KB Wrong Answer [4]
4 Incorrect 59 ms 248 KB Wrong Answer [4]
5 Incorrect 57 ms 336 KB Wrong Answer [4]
6 Incorrect 52 ms 344 KB Wrong Answer [4]
7 Incorrect 58 ms 252 KB Wrong Answer [4]
8 Incorrect 36 ms 344 KB Wrong Answer [4]
9 Incorrect 56 ms 344 KB Wrong Answer [4]
10 Incorrect 30 ms 248 KB Wrong Answer [4]
11 Correct 2 ms 248 KB # of queries: 0
12 Correct 2 ms 252 KB # of queries: 0
13 Correct 2 ms 248 KB # of queries: 7
14 Correct 2 ms 376 KB # of queries: 9
15 Correct 4 ms 376 KB # of queries: 111
16 Incorrect 6 ms 424 KB Wrong Answer [4]
# 결과 실행 시간 메모리 Grader output
1 Incorrect 53 ms 380 KB Wrong Answer [4]
2 Incorrect 56 ms 248 KB Wrong Answer [4]
3 Incorrect 63 ms 376 KB Wrong Answer [4]
4 Incorrect 59 ms 248 KB Wrong Answer [4]
5 Incorrect 57 ms 336 KB Wrong Answer [4]
6 Incorrect 52 ms 344 KB Wrong Answer [4]
7 Incorrect 58 ms 252 KB Wrong Answer [4]
8 Incorrect 36 ms 344 KB Wrong Answer [4]
9 Incorrect 56 ms 344 KB Wrong Answer [4]
10 Incorrect 30 ms 248 KB Wrong Answer [4]
11 Correct 2 ms 248 KB # of queries: 0
12 Correct 2 ms 252 KB # of queries: 0
13 Correct 2 ms 248 KB # of queries: 7
14 Correct 2 ms 376 KB # of queries: 9
15 Correct 4 ms 376 KB # of queries: 111
16 Incorrect 6 ms 424 KB Wrong Answer [4]
17 Incorrect 590 ms 400 KB Wrong Answer [4]
18 Incorrect 548 ms 396 KB Wrong Answer [4]
19 Incorrect 562 ms 404 KB Wrong Answer [4]
20 Incorrect 531 ms 396 KB Wrong Answer [4]
21 Incorrect 511 ms 364 KB Wrong Answer [4]
22 Incorrect 569 ms 484 KB Wrong Answer [4]
23 Incorrect 580 ms 608 KB Wrong Answer [4]
24 Incorrect 189 ms 344 KB Wrong Answer [4]
25 Incorrect 587 ms 608 KB Wrong Answer [4]
26 Incorrect 554 ms 504 KB Wrong Answer [4]
27 Incorrect 191 ms 248 KB Wrong Answer [4]
28 Correct 683 ms 516 KB # of queries: 19947
29 Correct 612 ms 504 KB # of queries: 19925
30 Correct 593 ms 500 KB # of queries: 19947