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

都来看看啊!

Posted by 200609020331 at 2008-12-28 17:20:37 on Problem 3713
我用BFS做的 WA了很久 今天都没有过!看看我那错了,很想知道,非常谢谢!
#include<iostream>
using namespace std;
int map[505][505],c[505][505];
int count[505][505];
bool visit[505];
bool f2[505][505];
int f[505];
bool bfs_adjust(int n,int u,int t)
{
	int i,j,front=0,rear=0;
	int que[1000];
	memset(visit,false,sizeof(visit));
	memset(f,-1,sizeof(f));
	que[rear++]=u;
	visit[u]=true;
	while(front<rear)
	{
		i=que[front++];
		for(j=0;j<n;j++)
		{
			if(!visit[j] && map[i][j] && !f2[i][j])
			{
				
				f[j]=i;
				visit[j]=true;
				que[rear++]=j;
				if(j==t)
					return true;
					
			}		  
		}
	}
	return false;
}
int main()
{
	int n,m,i,j,w,v;
	int a,b;
	bool flag,flag2;
	while(1)
	{
		scanf("%d %d",&n,&m);
		if(n==0 && m==0)
			break;
		flag2=flag=true;
		memset(count,0,sizeof(count));
		for(i=0;i<n;i++)
			for(j=0;j<n;j++)
				map[i][j]=0;
			for(i=0;i<m;i++)
			{
				scanf("%d %d",&a,&b);
				map[a][b]=map[b][a]=1;
			}
			for(i=0;i<n;i++)
			{	
				for(j=0;j<n;j++)
				{	
					if(i!=j)
					{	
							memset(f2,false,sizeof(f2));
							 while(bfs_adjust(n,i,j))
								{   
								    count[i][j]++;
									if(count[i][j]>3)
										break;
									  v=j;
									  while(v>0)
									  {
										  w=f[v];
										  f2[w][v]=true;
										  f2[v][w]=true;
										  v=w;
									  }
							         
								}
							if(count[i][j]<3)
							{
								flag=false;
								flag2=false;
								break;
							}
                                					
					}
						
				}
				if(!flag2)
					break;
				
			}
			if(flag)
				printf("YES\n");
			else
				printf("NO\n");
			printf("\n");
	}
	return 0;
}






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