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

有没不用Floyd 做的啊.........网上翻了半天都是一样的...小弟代码如下 希望指点一下

Posted by jp_test at 2009-03-20 20:48:57 on Problem 3660
#include<iostream>
using namespace std;
int a[111][111];
int n,m;
void find(int i,int j)
{
  int k;
  if(a[i][j]==0)
  {
		  a[i][j]=1;
		  a[j][i]=-1;
		  a[i][0]++;
		  a[j][0]++;
  }
  for(k=1;k<=n;k++)
  {
	 if(a[i][k]==-1)
	  { 
		  if(a[j][k]==0)
		  {
			  a[k][j]=1;
			  a[j][k]=-1;
			  a[j][0]++;
			  a[k][0]++;
		  }
	 }
  }
  for(k=1;k<=n;k++)
  {
	  if(a[j][k]==1)
	  { 
		  if(a[i][k]==0)
		  {
			  a[k][i]=-1;
			  a[i][k]=1;
			  a[i][0]++;
			  a[k][0]++;
		  }
	 }
  }
}
int main()
{
 int i,j,ii,num,k;
 freopen("test.txt","r",stdin);
 memset(a,0,sizeof(a));
 cin>>n>>m;
 for(ii=1;ii<=m;ii++)
 {
	 cin>>i>>j;
     find(i,j);
 }
 num=0;
 for(k=1;k<=n;k++)
 {
  if(a[k][0]==n-1)
  {
	  num++;
	  cout<<k<<" ";
  }
 }
 cout<<endl;
 cout<<num<<endl;
 return 1;
}

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