Submission #973166

# Submission time Handle Problem Language Result Execution time Memory
973166 2024-05-01T14:56:20 Z sleepntsheep Question (Grader is different from the original contest) (CEOI14_question_grader) C
100 / 100
2767 ms 24920 KB
#include <stdio.h>

int set[925], iota;

void init()
{    
    for (int i = 1; i < (1<<12); ++i)
        if(__builtin_popcount(i) == 6)
            set[++iota] = i;
}

int encode(int n,int x,int y)
{
    if (!iota) init();
    for(int i=0;i<12;++i)
        if((set[x]&(1<<i))&&!(set[y]&(1<<i)))
            return i+1;
    __builtin_trap();
}

int decode (int n, int q, int h)
{
    if (!iota) init();
    return(set[q]>>(h-1))&1;
}

#include <stdio.h>

int set[925], iota;

void init()
{    
    for (int i = 1; i < (1<<12); ++i)
        if(__builtin_popcount(i) == 6)
            set[++iota] = i;
}

int encode(int n,int x,int y)
{
    if (!iota) init();
    for(int i=0;i<12;++i)
        if((set[x]&(1<<i))&&!(set[y]&(1<<i)))
            return i+1;
    __builtin_trap();
}

int decode (int n, int q, int h)
{
    if (!iota) init();
    return(set[q]>>(h-1))&1;
}

# Verdict Execution time Memory Grader output
1 Correct 2727 ms 24920 KB Output is correct - maxh = 12
2 Correct 2767 ms 24836 KB Output is correct - maxh = 12