Koyomi www.sebastiengilles.com | Tien voici une solution. tu en trouvera plein ici : http://www.de.ioccc.org/years.html Code :
- #define G(n) int n(int t, int q, int d)
- #define X(p,t,s) (p>=t&&p<(t+s)&&(p-(t)&1023)<(s&1023))
- #define U(m) *((signed char *)(m))
- #define F if(!--q){
- #define I(s) (int)main-(int)s
- #define P(s,c,k) for(h=0; h>>14==0; h+=129)Y(16*c+h/1024+Y(V+36))&128>>(h&7)?U(s+(h&15367))=k:k
- for (; j < 12800; j += 8)
- P (d + 27653 + Y (t + 12) + ' ' * (j & ~511) + j % 512,
- U (Y (t + 28) + j / 8 + 64 * Y (t + 20)), 0);
- }
- F if (n)
- {
- D = Y (t + 28);
- if (d - 10)
- U (++Y (t + 24) + D + 1535) = d;
- else
- {
- for (i = D; i < D + 1600; i++)
- U (i) = U (i + 64);
- Y (t + 24) = 1;
- E (Y (V), i - 127, 3, 0);
- }
- }
- else
- Y (t + 20) += ((d >> 4) ^ (d >> 5)) - 3;
- }
- }
- G (_);
- G (o);
- G (main)
- {
- Z, k = K;
- if (!t)
- {
- Y (V) = V + 208 - (I (_));
- L (209, 223) L (168, 0) L (212, 244) _((int) &s, 3, 0);
- for (; 1;)
- R n = Y (V - 12);
- if (C & ' ')
- {
- k++;
- k %= 3;
- if (k < 2)
- {
- Y (j) -= p;
- Y (j) += p += U (&D) * (1 - k * 1025);
- if (k)
- goto y;
- }
- }
- }
- return D;
- }
|
Message édité par Koyomi le 28-01-2008 à 16:47:35
|