/* 1996 ACM North Central Regional Programming Contest Problem C -- Run, Run, Runaround Numbers Ed Karrels, November 1996 */ #include #include int DigitsAreUnique(char *str) { int used[10] = {0}, dig; for (;*str; str++) { dig = *str - '0'; if (used[dig]) return 0; used[dig] = 1; } return 1; } int main() { char num[10]; int mark[10], len, i, j, k, pos, is_run, c=1; long x, r; while (scanf("%ld", &x), x) { is_run = 0; for (r=x; !is_run; r++) { sprintf(num, "%ld", r); if (!DigitsAreUnique(num)) goto not_run; len = strlen(num); pos = 0; k = num[0] - '0'; num[pos] = 0; for (i=1; i