Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
|
|
@ -0,0 +1,33 @@
|
|||
#include <stdio.h>
|
||||
|
||||
#define N 4
|
||||
const char *perms[] = {
|
||||
"ABCD", "CABD", "ACDB", "DACB", "BCDA", "ACBD", "ADCB", "CDAB",
|
||||
"DABC", "BCAD", "CADB", "CDBA", "CBAD", "ABDC", "ADBC", "BDCA",
|
||||
"DCBA", "BACD", "BADC", "BDAC", "CBDA", "DBCA", "DCAB",
|
||||
};
|
||||
|
||||
int main()
|
||||
{
|
||||
int i, j, n, cnt[N];
|
||||
char miss[N];
|
||||
|
||||
for (n = i = 1; i < N; i++) n *= i; /* n = (N-1)!, # of occurrence */
|
||||
|
||||
for (i = 0; i < N; i++) {
|
||||
for (j = 0; j < N; j++) cnt[j] = 0;
|
||||
|
||||
/* count how many times each letter occur at position i */
|
||||
for (j = 0; j < sizeof(perms)/sizeof(const char*); j++)
|
||||
cnt[perms[j][i] - 'A']++;
|
||||
|
||||
/* letter not occurring (N-1)! times is the missing one */
|
||||
for (j = 0; j < N && cnt[j] == n; j++);
|
||||
|
||||
miss[i] = j + 'A';
|
||||
}
|
||||
printf("Missing: %.*s\n", N, miss);
|
||||
|
||||
return 0;
|
||||
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue