| ||||||||||
| Online Judge | Problem Set | Authors | Online Contests | User | ||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest | |||||||||
Re:求救啊,所有所谓官方测试数据都过了。 WAAAA~~~~In Reply To:求救啊,所有所谓官方测试数据都过了。 WAAAA~~~~ Posted by:fanjianjin at 2010-02-02 00:46:36 > 我这是直接二进制串枚举
>
> #include<stdio.h>
> #include<stdlib.h>
> #include<memory.h>
> #include<string.h>
> char b[100];
> void bin(int x)
> {
> int n=x;
> while (n>0)
> {
> if (n%2==0) strcat(b,"0");else strcat(b,"1");
> n=n/2;
> }
> while (strlen(b)<16) strcat(b,"0");
> }
> main()
> {
> char s[5][10],t[5][10],p[5],c;
> int i,j,k,l,m,n,x,y,f1,f2,stp,min;
> memset(s,0,sizeof(s));
> for (i=0;i<4;i++)
> {
> for (j=0;j<4;j++)
> s[i][j]=getchar();
> c=getchar();
> }
> min=100000;
> for (i=0;i<=65536;i++)
> {
> memset(t,0,sizeof(t));
> strcpy(t[0],s[0]);
> strcpy(t[1],s[1]);
> strcpy(t[2],s[2]);
> strcpy(t[3],s[3]);
> memset(b,0,sizeof(b));
> bin(i);
> stp=0;
> for (j=0;j<strlen(b);j++)
> {
> if (b[j]=='1')
> {
> stp++;
> x=j/4;y=j%4;
> if (t[x][y]=='w') t[x][y]='b';else t[x][y]='w';
> if (t[x-1][y]=='w' && x-1>=0) t[x-1][y]='b';else t[x-1][y]='w';
> if (t[x+1][y]=='w' && x+1<4) t[x+1][y]='b';else t[x+1][y]='w';
> if (t[x][y+1]=='w' && y+1<4) t[x][y+1]='b';else t[x][y+1]='w';
> if (t[x][y-1]=='w' && y-1>=0) t[x][y-1]='b';else t[x][y-1]='w';
>
> }
> }
>
> c=t[0][0];
> f1=0;
> for (j=0;j<4;j++)
> for (k=0;k<4;k++)
> if (t[j][k]!=c)
> {
> f1=1;break;
> }
> if (!f1 && stp<min) min=stp;
> }
> if (min==100000) printf("Impossible\n");
> else printf("%d\n",min);
> }
Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator