Submission #400733

#TimeUsernameProblemLanguageResultExecution timeMemory
400733my99nKoala Game (APIO17_koala)C++14
30 / 100
180 ms440 KiB
#include "koala.h" #include <bits/stdc++.h> using namespace std; int b[110], r[110]; void clear () { memset(b, 0, sizeof b); memset(r, 0, sizeof r); } int minValue(int N, int W) { clear(); b[0] = 1; playRound(b, r); if (r[0] != 2) return 0; for (int i = 0; i < N; i++) { if (r[i] == 0) return i; } return -1; } int maxValue(int N, int W) { clear(); vector<int> t; for (int i = 0; i < N; i++) b[i] = 1; playRound(b, r); for (int i = 0; i < N; i++) { if (r[i] > b[i]) t.push_back(i); } clear(); for (auto x : t) b[x] = 2; playRound(b, r); t.clear(); for (int i = 0; i < N; i++) { if (r[i] > 2) t.push_back(i); } clear(); for (auto x : t) b[x] = 4; playRound(b, r); t.clear(); for (int i = 0; i < N; i++) { if (r[i] > 4) t.push_back(i); } clear(); for (auto x : t) b[x] = 11; playRound(b, r); t.clear(); for (int i = 0; i < N; i++) { if (r[i] > 11) t.push_back(i); } return t[0]; } bool compare(int aa, int bb) { // cerr << aa << ' ' << bb << endl; // aa--; bb--; int n = 100, w = 100; int mn = minValue(n, w); if (mn == aa) return 1; if (mn == bb) return 0; vector<int> one, gr; vector<int> xs; xs.push_back(2); xs.push_back(3); xs.push_back(6); xs.push_back(10); for (auto x : xs) { clear(); gr.clear(); b[aa] = x, b[bb] = x; playRound(b, r); for (int i = 0; i < n; i++) if (r[i] == 1) one.push_back(i); for (int i = 0; i < n; i++) if (r[i] > 1 and r[i] > b[i]) gr.push_back(i); if (gr.size() == 1) { if (gr[0] == aa) return 0; else return 1; } // cout << one.size() << ' ' << gr.size() << endl; } assert(false); } int greaterValue(int N, int W) { return compare(0, 1); } void allValues(int N, int W, int *P) { if (W == 2*N) { // TODO: Implement Subtask 4 solution here. // You may leave this block unmodified if you are not attempting this // subtask. } else { vector<int> v; for (int i = 0; i < N; i++) { v.push_back(i); } sort(v.begin(), v.end(), compare); // for (auto x : v) { // cerr << x << ' '; // } cerr << endl; for (int i = 0; i < v.size(); i++) { P[v[i]] = i+1; } } return; }

Compilation message (stderr)

koala.cpp: In function 'void allValues(int, int, int*)':
koala.cpp:109:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  109 |     for (int i = 0; i < v.size(); i++) {
      |                     ~~^~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...