#define\
f for(
int b[8
<<7], s= 0+ 5,
#define p printf( ""
u[ 8]={1,1,1,0, -1,- 1,-1, 0}
,w [32]={2 ,14, 70, 199 ,799, 2,
8, 28,90,799,2,2 ,4,10 ,799,4,18,94,348,999
,2 ,10,44,220,999,2,2,4,10,999},v[8]={-32 ,0,
32 ,32,32,0,-32,-32},n[1024],m,x,y,z,i,j, k,l
,r, t,c; q(){f(x)=j=132 ;x<924&&j -5;x++
)if ((z =b[x])-46)f y=0; y<4&&
j- 5;y ++)f(i)=j=1 ;i <5&& j<5;j+=b
[x +(u [y]+v[y]) *+i ++] -z?0:1
); {;} return j- 5;} o (){ f(x)=!p
"" "\n ") ;x<s;p /* */ "%c ",97 +x++) );f
y= 0;y <s ;)f x = !p"\n%2d ",++ y);x<s; p/*
*/ "%c " ,b [(y +3 )*32+4+x++] ));}e( ){ if(s< 24)
f( i)= l= 0;i <2 ;i++)f(j)=0; j<s;j++){if(b[( i+
4) *32 +j +4 ]- 46)f(k)=(l )= 1023;k>131;b[k --
]=b[ k- 33 ]) ;if (b[( j+4)*32+ s-i+3]-46)f k= l=
1023 ;k > 131 ;b[ k--]=b[k-32]) ;if(b[33*s-32 *i
-j+ 99 ]- 46) l=10; if(b[ (s-j+3 )*32+i+4]- 46
)f k= l= 1023; k> 131; b[k--] =b[k-1]);; if
(l ){ ;s ++;e();goto h;}} h/**/ :;} main(){ f
x= 0; x< 16 << 6;b[x ++ ]=46 ); f/* */ w[
31 & (r =9 + time( 0) )]++ ;q ()
;) {e (); o();p"\n" "\n%% ") ; /*
*/ scanf (" %wc%d" ,& x, &y ); b [(
y+ 3) * 32+( x| 32 )- 93 ]= 120 ; f(
r) +=x;r <0;r= -r );if( q( )) {e( ); t=
m= 0 ;f x= 132; x< 924 ;x += 1) if
(x % 32>= 4&& x% 32 <= 27 &&b[ x]
== 46 ){c= 0;f y=111 ;y <= 120 ;y+= 9)
{b[ x] =y;f z=0; z<8;z++){f( l)=x-(j =u[z] +
v[z ]) ;b[ l]== y;l-=j );k=b[l ]-46?5:
0;f i= 0; b[l +=j]==y && i< 5;i ++);;c
+=w [( y- 120 ?15:0)+k+ ( b [l] -46?4
:- 1) +i ];} }b[x ]=46;if(
c>t ){t =c ;m= 0;}if(c
==t)n[m ++] =x; }b[n[r%
m]]=111 ;}} x-- ;y--;f
i=0;i<5;b[x +(u [y]+v[
y] )*i++]&=-33) ;o();p"\n"
"game over\n");}
|