mirror of
https://gitcode.com/Zengtudor/alg2025.git
synced 2025-09-05 17:50:36 +00:00
update
This commit is contained in:
parent
f8994b5c7c
commit
8b49a88aa9
47
src/test.cpp
47
src/test.cpp
@ -1,41 +1,10 @@
|
|||||||
#include <iostream>
|
#include <cstdio>
|
||||||
using namespace std;
|
|
||||||
|
|
||||||
const int N = 1000;
|
|
||||||
int c[N];
|
|
||||||
|
|
||||||
int logic(int x, int y) {
|
|
||||||
return (x & y) ^ ((x ^ y) | (~x & y));
|
|
||||||
}
|
|
||||||
|
|
||||||
void generate(int a, int b, int *c) {
|
|
||||||
for (int i = 0; i < b; i++)
|
|
||||||
c[i] = logic(a, i) % (b + 1);
|
|
||||||
}
|
|
||||||
|
|
||||||
void recursion(int depth, int *arr, int size) {
|
|
||||||
if (depth <= 0 || size <= 1) return;
|
|
||||||
int pivot = arr[0];
|
|
||||||
int i = 0, j = size - 1;
|
|
||||||
while (i <= j) {
|
|
||||||
while (arr[i] < pivot) i++;
|
|
||||||
while (arr[j] > pivot) j--;
|
|
||||||
if (i <= j) {
|
|
||||||
int temp = arr[i];
|
|
||||||
arr[i] = arr[j];
|
|
||||||
arr[j] = temp;
|
|
||||||
i++; j--;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
recursion(depth - 1, arr, j + 1);
|
|
||||||
recursion(depth - 1, arr + i, size - i);
|
|
||||||
}
|
|
||||||
|
|
||||||
int main(){
|
int main(){
|
||||||
int a, b, d;
|
int a=0;
|
||||||
cin >> a >> b >> d;
|
char* c = (char*)&a;
|
||||||
generate(a, b, c);
|
c[0]=0x1f;
|
||||||
recursion(d, c, b);
|
c[1]=0x1f;
|
||||||
for (int i = 0; i < b; ++i) cout << c[i] << " ";
|
c[2]=0x1f;
|
||||||
cout << endl;
|
c[3]=0x1f;
|
||||||
|
printf("%d\n",a);
|
||||||
}
|
}
|
Loading…
Reference in New Issue
Block a user