#include "registers.h"
#include <bits/stdc++.h>
using namespace std;
/*
I have 100's 2000bit long (called c)
given s(type,0:min,1:sort)
putting kbit(integer) * n in c[0]
try make c[0] to the type
*/
void construct_instructions(int s, int n, int k, int q) {
if(k == 1){
append_move(1, 0);
append_right(1, 1, 1);
append_and(0, 0, 1);
}else if(k == 2){// n = 2;
int i = 0,j = 1;
append_right(1,0,1);
append_left(2,i,1);
append_left(3,j,1);
append_and(4,2,j);
append_add(5,j,i);
append_add(6,4,5);// 6 = (i>>1&j)+(j>>1)&i
append_not(7,i);
append_not(8,j);
append_and(9,7,j);
append_and(10,8,i);
append_or(11,9,10);// (~i)&j)|((~j)&i)
append_add(12,i,j);
append_left(13,12,2);
vector<bool> one = vector<bool>(2000);
one[0] = 1;
append_store(14,one);
append_add(15,13,14);// ((i+j)>>2)+1
append_and(16,6,11);
append_and(17,15,16);//((((i>>1)&j)+((j>>1)&i))&(((~i)&j)|((~j)&i))&(((i+j)>>2)+1))
append_and(18,i,j);
append_add(0,17,18);
}
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |