| ||||||||||
| 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