Online JudgeProblem SetAuthorsOnline ContestsUser
Web Board
Home Page
F.A.Qs
Statistical Charts
Problems
Submit Problem
Online Status
Prob.ID:
Register
Update your info
Authors ranklist
Current Contest
Past Contests
Scheduled Contests
Award Contest
User ID:
Password:
  Register

谁能帮我举个反例说明我的错了。。。C代码,,

Posted by labor at 2008-10-10 16:21:30 on Problem 1383
#include "stdio.h"
void search(int i,int j,long t);
char a[1005][1005],b[1005][1005];
int p[]={0,0,1,-1},q[]={1,-1,0,0};
long u,v;
void main()
{
	int t;
	int i,j,k;
	int n,m,s;
	scanf("%d",&t);
	while(t--)
	{
		scanf("%d%d",&m,&n);
		for(i=0;i<n;i++)
			scanf("%s",b[i]);
		for(i=0;i<=n+1;i++)
			for(j=0;j<=m+1;j++) 
				a[i][j]='#';
			for(i=0;i<n;i++)
				for(j=0;j<m;j++)
					a[i+1][j+1]=b[i][j];
				u=0;
				for(i=1;i<=n;i++)
					for(j=1;j<=m;j++)
					{
						
						if(a[i][j]=='.')
						{s=0;	
						for(k=0;k<4;k++)
							if(a[i+p[k]][j+q[k]]=='#')
								s++;
							if(s>=3)
							{	
								a[i][j]='#';
								search(i,j,0);
							}
						}	
					}
					printf("Maximum rope length is %ld.\n",u);
	}
}


void search(int i,int j,long t)
{
	int x,y,k,ii=0;
	for(k=0;k<4;k++)
	{
		x=i+p[k];
		y=j+q[k];
		if(a[x][y]=='#')
		{ii++;continue;}
		a[x][y]='#';
		search(x,y,t+1);
		ii=0;
	}
	if(ii==4&&t>u)
		u=t;
}


Followed by:

Post your reply here:
User ID:
Password:
Title:

Content:

Home Page   Go Back  To top


All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator