제출 #1221821

#제출 시각아이디문제언어결과실행 시간메모리
1221821spetrMonster Game (JOI21_monster)C++20
10 / 100
59 ms412 KiB
#include "monster.h"
#include <iostream>
namespace {

bool example_variable;

}  


std::vector<int> Solve(int N) {
  std::vector<int> T(N);

  std::vector<int> cisla(N);
  for (int i = 0; i < N; i++){
    cisla[i] = 0;
  }

  for (int i = 0; i < N; i++){
    for (int j = i+1; j < N; j++){
        bool t = Query(i, j);
        if (t){
            cisla[i]++;
        }
        else{
            cisla[j]++;
        }
    }
  }

  /*/for (int i = 0; i < N; i++){
    std::cout << cisla[i] << " ";
  }/*/

  int f0 = -1, f1 = -1;
  for (int i = 0; i < N; i++){
    if (cisla[i] == 1){
        if (f0 != -1){
            bool t = Query(i, f0);
            if (t){
                T[i] = 0;
                T[f0] = 1;
            }
            else{
                T[i] = 1;
                T[f0] = 0;
            }
        }
        else{
            f0 = i;
        }
    }
    else if (cisla[i] == N-2){
        if (f1 != -1){
            bool t = Query(i, f1);
            if (t){
                T[i] = N-2;
                T[f1] = N-1;
            }
            else{
                T[i] = N-1;
                T[f1] = N-2;
            }
        }
        else{
            f1 = i;
        }
    }
    else{
        T[i] = cisla[i];
    }

  }

  //for (int i = 0; i < N; i++){std:: cout << T[i] << " ";}
 

  /*/for (int i = 0; i < N; i++){std::cout << T[i] << " ";}
  std::cout << "\n";
    for (int i = 0; i < N; i++){std::cout << cisla[i] << " ";}
  std::cout << "\n";/*/

  return T;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...