제출 #661767

#제출 시각아이디문제언어결과실행 시간메모리
661767LittleCubeMonster Game (JOI21_monster)C++17
10 / 100
182 ms720 KiB
#include "monster.h"
#include <bits/stdc++.h>
#define ll long long
#define pii pair<int, int>
#define pll pair<ll, ll>
#define F first
#define S second
using namespace std;

int cnt[205], dis[205][205];

vector<int> Solve(int N)
{
    vector<int> T(N, 0), S(N, 0);

    for (int i = 0; i < N; i++)
        for (int j = 0; j < N; j++)
            dis[i][j] = (i == j ? 0 : 1e9);

    for (int i = 0; i < N; i++)
        for (int j = i + 1; j < N; j++)
            if (Query(i, j))
                dis[j][i] = 1;
            else
                dis[i][j] = 1;

    for (int k = 0; k < N; k++)
        for (int i = 0; i < N; i++)
            for (int j = 0; j < N; j++)
                dis[i][j] = min(dis[i][j], dis[i][k] + dis[k][j]);


    for (int i = 0; i < N; i++)
        for (int j = 0; j < N; j++)
            if (dis[i][j] == N - 1)
                T[N - 1] = i, S[i] = N - 1;
    for (int i = N - 2; i >= 0; i--)
        for (int j = 0; j < N; j++)
            if (dis[j][T[i + 1]] == 2 && S[j] == 0)
            {
                T[i] = j;
                S[j] = i;
                break;
            }
    return S;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...