Mejf
By: a guest | May 13th, 2008 | Syntax:
C | Size: 0.83 KB | Hits: 200 | Expires: Never
#include <stdio.h>
#include <stdlib.h>
int main( int argn, char *argv[] ) {
int matrix[256][256];
int total[256];
int first, next, last;
int l, m;
first = last = fgetc(stdin);
for (l = 0; l < 256; l++) {
total[l] = 0;
for (m = 0; m < 256; m++)
matrix[l][m] = 0;
}
while ((next = fgetc(stdin)) != EOF) {
matrix[last][next]++;
total[last]++;
last = next;
}
srandom(time(NULL));
last = first;
putchar(first);
for (l = 0; l < 10000; l++) {
if (total[last] <= 0) {
printf("\n\t**Unexpected ending!\n");
break;
}
int r = random()%total[last] + 1;
next = 0;
while (1) {
r -= matrix[last][next];
if (r <= 0)
break;
next++;
}
putchar(next);
last = next;
}
putchar('\n');
}