Submission #442187

#TimeUsernameProblemLanguageResultExecution timeMemory
442187daniel920712Bit Shift Registers (IOI21_registers)C++17
0 / 100
1 ms588 KiB
#include "registers.h"
#include <vector>
using namespace std;
vector < bool > zero;
void construct_instructions(int s, int n, int k, int q)
{
    int i,j;
    for(i=0;i<2000;i++) zero.push_back(i);
    for(i=1;i<=n;i++)
    {
        append_move(2,0);
        append_left(2,2,2000-k);
        append_right(2,2,2000-k);
        append_right(0,0,k);
        append_print(2);
        if(i==1) append_move(1,2);
        else
        {
            append_xor(3,1,2);
            append_move(31,2);

            for(j=0;j<k;j++)
            {
                append_move(6,3);
                append_right(6,6,1999);
                append_left(6,6,1999);

                append_move(11,2);
                append_right(11,11,1999);
                append_left(11,11,1999);


                append_move(10,6);
                append_not(8,7);
                append_and(6,6,8);




                append_xor(21,6,7);
                append_not(21,21);
                append_or(21,21,7);

                append_and(22,6,11);

                append_or(7,7,6);


                append_and(24,21,9);
                append_move(23,24);

                append_not(24,21);
                append_and(24,24,22);
                append_or(9,23,24);

                append_and(10,9,10);
                append_right(10,10,j);
                append_add(12,12,10);


                append_right(3,3,1);
                append_right(2,2,1);
            }
            append_xor(1,31,12);

        }
    }
    append_move(0,1);
    append_print(0);

}
#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...