Submission #1063829

#TimeUsernameProblemLanguageResultExecution timeMemory
1063829thinknoexitAlice, Bob, and Circuit (APIO23_abc)C++17
0 / 100
61 ms9292 KiB
#include "abc.h"
#include<bits/stdc++.h>
using namespace std;
using ll = long long;

// you may find the definitions useful
const int OP_ZERO = 0;  // f(OP_ZERO,    x0, x1) = 0
const int OP_NOR = 1;  // f(OP_NOR,     x0, x1) = !(x0 || x1)
const int OP_GREATER = 2;  // f(OP_GREATER, x0, x1) = (x0 > x1)
const int OP_NOT_X1 = 3;  // f(OP_NOT_X1,  x0, x1) = !x1
const int OP_LESS = 4;  // f(OP_LESS,    x0, x1) = (x0 < x1)
const int OP_NOT_X0 = 5;  // f(OP_NOT_X0,  x0, x1) = !x0
const int OP_XOR = 6;  // f(OP_XOR,     x0, x1) = (x0 ^ x1)
const int OP_NAND = 7;  // f(OP_NAND,    x0, x1) = !(x0 && x1)
const int OP_AND = 8;  // f(OP_AND,     x0, x1) = (x0 && x1)
const int OP_EQUAL = 9;  // f(OP_EQUAL,   x0, x1) = (x0 == x1)
const int OP_X0 = 10; // f(OP_X0,      x0, x1) = x0
const int OP_GEQ = 11; // f(OP_GEQ,     x0, x1) = (x0 >= x1)
const int OP_X1 = 12; // f(OP_X1,      x0, x1) = x1
const int OP_LEQ = 13; // f(OP_LEQ,     x0, x1) = (x0 <= x1)
const int OP_OR = 14; // f(OP_OR,      x0, x1) = (x0 || x1)
const int OP_ONE = 15; // f(OP_ONE,     x0, x1) = 1


// Alice (returns la)
int alice(
    const int n,
    const char names[][5],
    const unsigned short numbers[],
    bool outputs_alice[]
) {
    return numbers[0];
}


// Bob (returns lb)
int bob(
    const int m,
    const char senders[][5],
    const char recipients[][5],
    bool outputs_bob[]
) {
    return m;
}


// Circuit (return l >= la + lb)
int circuit(
    const int la,
    const int lb,
    int operations[],
    int operands[][2],
    int outputs_circuit[][16]
) {
    int sum = la * lb % 65536;
    for (int j = 0; j < 16; ++j)
        outputs_circuit[0][j] = (sum >> j) & 1;
    return la + lb;
}
#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...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...