Welcome, guest! Login / Register - Why register?
Psst.. new poll here.
Psst.. new forums here.
Microsoft is blocking us again (TY IP Reputation!) so just use oauth login instead. :)

Paste

Pasted as C by Paul Shvets I ( 15 years ago )
# include <stdio.h>
# include <stdlib.h>

int a;
int *arr;
void dumb(int low, int high);
void dumb(int low, int high)
{
    int i = low, j = high, pivot, t;
    if (low + 1 >= high) return;
    t = (low + high) / 2;
    pivot = arr[t];
    printf("RD %xn", a + 4 * (t));
    while (i < j) {
        printf("RD %xn", a + 4 * (i));
        if (arr[i] >= pivot) {
            printf("RD %xn", a + 4 * (j - 1));
            if(arr[j - 1] <= pivot) {
                t = arr[i];
                printf("RD %xn", a + 4 * (i));
                arr[i] = arr[j - 1];
                printf("RD %xn", a + 4 * (j - 1));
                printf("WR %xn", a + 4 * (i));
                arr[j - 1] = t;
                printf("WR %xn", a + 4 * (j - 1));
                ++i;
                --j;
            }
        } else {
            printf("RD %xn", a + 4 * (i));
            if (arr[i] <= pivot) {
                ++i;
            }
            printf("RD %xn", a + 4 * (j - 1));
            if (arr[j - 1] >= pivot) {
                --j;
            }
        }
    }
    dumb(low, j);
    dumb(j, high);
}

int main (int argc, char **argv) {
    int num, i;
    sscanf(argv[1], "%x", &a);
    sscanf(argv[2], "%d", #);
    arr = malloc(4 * num);
    for (i = 0; i < num; i ++) {
        scanf("%d", &arr;[i]);
    }
    dumb(0, num);
    return 0;
}

 

Revise this Paste

Children: 40138
Your Name: Code Language: