답안 #882547

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
882547 2023-12-03T10:56:19 Z Regulus Super Dango Maker (JOI22_dango3) C++17
7 / 100
1716 ms 676 KB
#include "dango3.h"
#include <bits/stdc++.h>
#define IO ios::sync_with_stdio(false);cin.tie(0);
#define debug(x) cerr << #x << " = " << (x) << ' '
#define endl cerr << '\n'
#define all(v) (v).begin(), (v).end()
#define SZ(v) (ll)(v).size()
#define lowbit(x) (x)&-(x)
#define pb emplace_back
#define F first
#define S second
using namespace std;
using ll = long long;
using pll = pair<ll, ll>;

const int N = 1e5+5;
ll n, m;
bool in[N], in2[N];
vector<int> v, v2;
/*
int a[50], ccnt[50], tot;
vector<int> ans[50];

inline int Query(vector<int> &v)
{
    cout << "? ";
    for (int x : v) cout << x << ' ';
    cout << '\n';
    int mn = 2e9;
    for (int i=1; i <= n; ++i) ccnt[i] = 0;
    for (int x : v) ++ccnt[a[x]];
    for (int i=1; i <= n; ++i) mn = min(mn, ccnt[i]);

    int ret = mn;
    //cin >> ret;
    return ret;
}

inline void Answer(vector<int> &v)
{
    cout << "! ";
    for (int x : v) cout << x << ' ';
    cout << '\n';

    ++tot;
    ans[tot] = v;
}*/

void Solve(int tmp1, int tmp2)
{
    ll i, j, cur=0, cnt, pre=-1;
 
    n = tmp1, m = tmp2;
    for (i=1; i <= n*m; ++i) in[i] = 1;
 
    for (int t=1; t <= m; ++t)
    {
        for (cur=1; cur <= n*m; ++cur) if (in[cur]) break;
        if (cur > n*m) break;
        for (i=1; i <= n*m; ++i) in2[i] = 0;
        in2[cur] = 1, cnt = 1;

        for (i=1; i <= n*m; ++i)
        {
            if (!in[i] || cur == i) continue;
            in2[i] = 1;
            v.clear();
            for (j=1; j <= n*m; ++j)
            {
                if (!in[j] || in2[j]) continue;
                v.pb(j);
            }
            int ret = Query(v);
            if (ret != m-t) in2[i] = 0;
            else ++cnt;
            if (cnt == n) break;
        }
        if (cnt != n) assert(0);
        v.clear();
        for (i=1; i <= n*m; ++i)
            if (in2[i]) v.pb(i), in[i] = 0, in2[i] = 0;
        Answer(v);
    }
}
/*
int main(void)
{
    int n, m;
    cin >> n >> m;
    for (int i=1; i <= n*m; ++i) cin >> a[i];

    Solve(n, m);

    for (int i=1; i <= tot; ++i)
    {
        for (int x : ans[i]) cout << x << ' ';
        cout << '\n';
    }

    return 0;
}*/

Compilation message

dango3.cpp: In function 'void Solve(int, int)':
dango3.cpp:51:26: warning: unused variable 'pre' [-Wunused-variable]
   51 |     ll i, j, cur=0, cnt, pre=-1;
      |                          ^~~
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 348 KB Output is correct
2 Correct 0 ms 348 KB Output is correct
3 Correct 0 ms 448 KB Output is correct
4 Correct 0 ms 348 KB Output is correct
5 Correct 0 ms 348 KB Output is correct
6 Correct 0 ms 348 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 12 ms 348 KB Output is correct
2 Correct 11 ms 516 KB Output is correct
3 Correct 18 ms 512 KB Output is correct
4 Correct 16 ms 348 KB Output is correct
5 Correct 4 ms 344 KB Output is correct
6 Correct 5 ms 344 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 508 ms 600 KB Output is correct
2 Correct 514 ms 348 KB Output is correct
3 Incorrect 871 ms 604 KB Wrong Answer [3]
4 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 1716 ms 676 KB Wrong Answer [3]
2 Halted 0 ms 0 KB -