Submission #864205

#TimeUsernameProblemLanguageResultExecution timeMemory
864205vjudge1Monster Game (JOI21_monster)C++17
10 / 100
116 ms684 KiB
#include <bits/stdc++.h>
#include "monster.h"
using namespace std;
vector<int> Solve(int n)
{
    vector<vector<bool> > w(n);
    vector<int> s(n, 0), an(n), eo, enm;
    int i, j;
    for (i = 0; i < n; i++)
    {
        w[i].resize(n);
        for (j = 0; j < n; j++)
        {
            if (j > i)
                w[i][j] = Query(i, j);
            else if (j == i)
                w[i][j] = 0;
            else
                w[i][j] = !w[j][i];
            if (w[i][j])
                s[i]++;
        }
    }
    for (i = 0; i < n; i++)
    {
        if (s[i] == 1)
            eo.push_back(i);
        else if (s[i] == n - 2)
            enm.push_back(i);
        else if (s[i] != 1 && s[i] != n - 2)
            an[i] = s[i];
    }
    if (w[eo[0]][eo[1]])
    {
        an[eo[0]] = 0;
        an[eo[1]] = 1;
    }
    else
    {
        an[eo[0]] = 1;
        an[eo[1]] = 0;
    }
    if (w[enm[0]][enm[1]])
    {
        an[enm[0]] = n - 2;
        an[enm[1]] = n - 1;
    }
    else
    {
        an[enm[0]] = n - 1;
        an[enm[1]] = n - 2;
    }
    return an;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...