Mercurial > repo
comparison MaFV @ 5195:dfde36387791
<elliott> fetch http://sprunge.us/MaFV
author | HackBot |
---|---|
date | Fri, 12 Dec 2014 16:03:22 +0000 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
5194:c71fb3c4f41a | 5195:dfde36387791 |
---|---|
1 #include <stdio.h> | |
2 | |
3 int c; | |
4 | |
5 void s() | |
6 { | |
7 unsigned int m = 0xFFFF; | |
8 #define F(m,n,v,c,b) \ | |
9 for (int v = 0; v < 16; v++) { \ | |
10 if ((m & (1 << v)) && (c)) { \ | |
11 unsigned int n = m - (1 << v); \ | |
12 b \ | |
13 } \ | |
14 } | |
15 #define L(m,n,v,e,b) \ | |
16 { \ | |
17 int v = e; \ | |
18 if (v >= 0 && v < 16 && (m & (1 << v))) { \ | |
19 unsigned int n = m - (1 << v); \ | |
20 b; \ | |
21 } \ | |
22 } | |
23 F(m,n, a1, 1, | |
24 F(n,m, a4, a1<a4, | |
25 F(m,n, d1, a1<d1 && a4<d1, | |
26 F(n,m, a2, 1, | |
27 L(m,n, a3, 30-a1-a2-a4, | |
28 F(n,m, b1, 1, | |
29 L(m,n, c1, 30-a1-b1-d1, | |
30 F(n,m, b2, 1, | |
31 F(m,n, d4, a1<d4, | |
32 L(n,m, c3, 30-a1-b2-d4, | |
33 F(m,n, b3, 1, | |
34 L(n,m, b4, 30-b1-b2-b3, | |
35 L(m,n, d3, 30-a3-b3-c3, | |
36 L(n,m, d2, 30-d1-d3-d4, | |
37 L(m,n, c4, 30-a4-b4-d4, | |
38 L(n,m, c2, 30-d1-b3-a4, | |
39 c++; | |
40 // printf("%X%X%X%X\\%X%X%X%X\\%X%X%X%X\\%X%X%X%X\n",a1,a2,a3,a4,b1,b2,b3,b4,c1,c2,c3,c4,d1,d2,d3,d4); | |
41 )))))))))))))))) | |
42 } | |
43 | |
44 int main() | |
45 { | |
46 s(); | |
47 printf("%d\n", c); | |
48 } | |
49 |