- 762 名前:758 mailto:sage [02/09/14 23:48]
- >>761
現在9行。ゲーム性の向上を目指し、 終了時にアゲハマを表示し、余分な改行を消しました。 int w[]={1,-1,12,-12},s,d=1,h[3],b[132],c=1,u=2,y,i=132,m,g,e,k;r(a,c,f,z,i){b[ a]=!f?s++,b[a]|8:0;for(i=4;i--;b[z]==c&&r(z,c,f))d+=!b[z=a+w[i]];!f?b[a]&=3:0;} main(z){for(;i--;i%12==11?b[i]=4:0)i%12==0||i<12||i%12==10||i>120?b[i]=3:0;for( ;d;){if(c==1){for(i=10;i<120;)printf("%.2s",&("・○● \n"[b[i++]*2]));if(scanf ("%d %d",&k,&y),b[z=y*12+k]&&puts("Err"))continue;}else{for(m=e=z=0;e<132;e++) if(k=g=0,!b[e]){for(i=4;i--;b[y]?g++:(k+=10))b[y=e+w[i]]==u?r(y,1,d=s=0),k+=((( d==1)+(d==2))*15+(d==3))*s*20:0;g!=4&&k>m?m=k,z=e:0;}if(!z&&puts("ps"))break;}b [z]=c;for(i=4;i--;)b[k=z+w[i]]==u?r(k,u,d=s=0),!d?h[c]+=s,r(k,u,1):0:0;r(z,u=c, d=0);c=3-c;}printf("%d,%d\n",h[1],h[2]);}
|

|