Submission #1192893

#TimeUsernameProblemLanguageResultExecution timeMemory
1192893ortsacCoins (IOI17_coins)C++20
100 / 100
302 ms748 KiB
#include <bits/stdc++.h>
#include "coins.h"

using namespace std;

// para achar você chama color(tabuleiro, 0, 63)
int color(vector<int> x) {
    int n = x.size();
    if (n == 1) return 0; // caso base, 1 dimensão -> só a cor zero
    // construir as metades
    vector<int> h1, h2;
    int sum2 = 0;
    for (int i = 0; i < (n/2); i++) {
        h1.push_back(x[i]);
        sum2 = ((sum2 + x[i]) % 2);
    }
    for (int i = n/2; i < n; i++) h2.push_back(x[i]);
    // decidir tipo do grafo que ele cai
    // sum2 decide se somamos n/2 ou não
    // a cor decide quanto somamos mod n/2
    int corh1 = color(h1);
    int corh2 = color(h2);
    corh2 = ((corh2 + corh1) % (n/2));
    if (sum2) corh2 = (corh2 + (n/2));
    return corh2;
}

vector<int> coin_flips(vector<int> t, int c) {
    //t = vector<int>(64);
    //cout << color(t, 0, 63) << "\n";
    //t[10] = 1;
    //cout << color(t, 0, 63) << "\n";
    for (int i = 0; i < 64; i++) {
        t[i] = (1 - t[i]);
        if (color(t) == c) return {i};
        //cout << color(t) << "\n";
        t[i] = (1 - t[i]);
    }
    //cout << "oi\n";
    //return {1};
}

int find_coin(vector<int> b) {
    return color(b);
    //return 0;
}

Compilation message (stderr)

coins.cpp: In function 'std::vector<int> coin_flips(std::vector<int>, int)':
coins.cpp:41:1: warning: control reaches end of non-void function [-Wreturn-type]
   41 | }
      | ^
#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...