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 |
inf的大小写!In Reply To:用的1222一样的算法,为什么wa呢??? Posted by:cpp00446083 at 2006-03-21 22:23:02 > 贴代码,请有兴趣的人帮忙看一下: > #include<stdio.h> > #include<string.h> > #define WALLSIZE 17 > > int main() > { > int t,n,MinPiant,NowPiant,Cases; > int i,j,k,ii,tmp; > char Wall[WALLSIZE][WALLSIZE],WallTmp[WALLSIZE][WALLSIZE]; > > scanf("%d",&t); > for(i = 0;i < t;i ++) > { > MinPiant = 226; > Cases = 1; > scanf("%d",&n); > for (j = 0;j < n;j ++) > { > scanf("%s",Wall[j + 1] + 1); > Cases *= 2; > } > for (k = 0;k < Cases;k ++) > { > tmp = k; > NowPiant = 0; > for (j = 0;j < n ;j ++) > strcpy(WallTmp[j + 1],Wall[j + 1]); > for (j = 0;j < n;j ++) > { > if ((tmp % 2) == 1) > { > NowPiant ++; > if (WallTmp[1][j + 1] == 'y') > WallTmp[1][j + 1] = 'w'; > else WallTmp[1][j + 1] = 'y'; > if (WallTmp[1][j + 2] == 'y') > WallTmp[1][j + 2] = 'w'; > else WallTmp[1][j + 2] = 'y'; > if (WallTmp[1][j] == 'y') > WallTmp[1][j] = 'w'; > else WallTmp[1][j] = 'y'; > if (WallTmp[2][j + 1] == 'y') > WallTmp[2][j + 1] = 'w'; > else WallTmp[2][j + 1] = 'y'; > } > tmp = tmp / 2; > } > for (j = 1;j < n;j ++) > { > for (ii = 0;ii < n;ii ++) > if (WallTmp[j][ii + 1] == 'w') > { > NowPiant ++; > if (WallTmp[j + 1][ii + 1] == 'y') > WallTmp[j + 1][ii + 1] = 'w'; > else WallTmp[j + 1][ii + 1] = 'y'; > if (WallTmp[j + 1][ii + 2] == 'y') > WallTmp[j + 1][ii + 2] = 'w'; > else WallTmp[j + 1][ii + 2] = 'y'; > if (WallTmp[j + 1][ii] == 'y') > WallTmp[j + 1][ii] = 'w'; > else WallTmp[j + 1][ii] = 'y'; > if (WallTmp[j][ii + 1] == 'y') > WallTmp[j][ii + 1] = 'w'; > else WallTmp[j][ii + 1] = 'y'; > if (WallTmp[j + 2][ii + 1] == 'y') > WallTmp[j + 2][ii + 1] = 'w'; > else WallTmp[j + 2][ii + 1] = 'y'; > } > } > for (j = 1;j < n + 1;j ++) > if (WallTmp[n][j] == 'w') > break; > if ((j == (n + 1)) && (NowPiant < MinPiant)) > MinPiant = NowPiant; > } > if (MinPiant < 226) > printf("%d\n",MinPiant); > else printf("Inf\n"); > } > return 1; > } Followed by:
Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator