#include "registers.h"
#include<bits/stdc++.h>
using namespace std;
const int B = 2000;
const int fi = 5 , se = 6 , th = 7 , fo = 8;
const int full = 1 , one = 2 , x = 3 , y = 4 , extra = 9;
void construct_instructions(int s, int n, int k, int q)
{
vector<bool> v(2000);
for(int i = 0 ; i < k ;i++)
v[i] = 1;
append_store(full , v);
v.assign(2000 , 0);
v[0] = 1;
append_store(one , v);
for(int j = 0 ; j < n - 1 ; j++)
{
for(int i = 1 ; i < n ; i++)
{
append_right(x , 0 , (i - 1)*k);
append_and(x , x , full);
append_right(y , 0 , i*k);
append_and(y , y , full);
// 4 : y
append_not(fi , y);
append_add(fi , fi , one);
append_add(fi , fi , x);
// 5 : d>>(B - 1)
append_right(fi , fi , B - 1);
for(int l = 1 ;l < k ; l++)
{
append_left(se , fi , 1);
append_or(fi , fi , se);
}
append_xor(se , fi , full);
append_move(th , se);
append_move(fo , fi);
append_and(th , th , x);
append_and(fo , fo , y);
append_and(fi , fi , x);
append_and(se , se , y);
append_or(x , fi , se);
append_or(y , th , fo);
append_left(x , x,(i - 1)*k);
append_left(y , y , i * k);
append_or(0 , 0 , x);
append_or(0 , 0 , y);
v.assign(B , 1);
for(int l = (i - 1) * k ; l < i * k ; l++)
{
v[l] = 0;
}
append_store(extra , v);
append_or(x , x , extra);
v.assign(B , 1);
for(int l = i * k ; l < (i+1) * k ; l++)
{
v[l] = 0;
}
append_store(extra , v);
append_or(y , y , extra);
append_and(0 , 0 , x);
append_and(0 , 0 , y);
}
}
}
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
1 ms |
344 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Incorrect |
0 ms |
348 KB |
Wrong answer detected in grader |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
1 ms |
344 KB |
Output is correct |
2 |
Incorrect |
1 ms |
788 KB |
Wrong answer detected in grader |
3 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Incorrect |
0 ms |
348 KB |
Wrong answer detected in grader |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
2 ms |
1044 KB |
Output is correct |
2 |
Correct |
2 ms |
664 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
2 ms |
1044 KB |
Output is correct |
2 |
Correct |
2 ms |
664 KB |
Output is correct |
3 |
Incorrect |
1 ms |
788 KB |
Wrong answer detected in grader |
4 |
Halted |
0 ms |
0 KB |
- |