Submission #1141424

#TimeUsernameProblemLanguageResultExecution timeMemory
1141424hyl_kibouCoins (IOI17_coins)C++17
0 / 100
1 ms580 KiB
#include "coins.h"

std::vector<int> coin_flips(std::vector<int> b, int c) {
    std::vector<int> flips;

    int a = c;
    int bin[8];

    for(int i = 0; i<6; ++i){
        bin[i] = a%2;
        a/=2;
    }

    int sum = b[0];

    for(int i = 1; i<=6; ++i){
        sum+= b[i]!=bin[i-1];
    }

    if(sum<4){
        if(b[0]){
            flips.push_back(0);
        }
        for(int i = 1; i<=6; ++i){
            if((b[i]!=bin[i-1])){
                flips.push_back(i);
            }
        }
    }
    else{
        if(!b[0]){
            flips.push_back(0);
        }
        for(int i = 1; i<=6; ++i){
            if((b[i]==bin[i-1])){
                flips.push_back(i);
            }
        }
    }

    return flips;
}

int find_coin(std::vector<int> b) {
    int sum = 0;
    int cat = 1;
    if (b[0] == 0) {
        for(int i = 1; i<=6; ++i){
            sum+= b[i]*cat;
            cat*=2;
        }
    }
    else{
        for(int i = 1; i<=6; ++i){
            sum+= (!b[i])*cat;
            cat*=2;
        }
    }
    return sum;
}
#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...