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

在我机器上运行并且自己觉得完全无误的代码为什么会WA呢?有兴趣的来帮忙!!

Posted by cfdream at 2007-07-19 18:23:55 on Problem 2236
#include "iostream"
#include "memory"
#include "math.h"
using namespace std;
const bool TRUE=1;
const bool FALSE=0;

int coord[1002][2];
int group[1002];

int N,D;

float dis2(int p,int q)
{
	return (coord[p][0]-coord[q][0])*(coord[p][0]-coord[q][0])+(coord[p][1]-coord[q][1])*(coord[p][1]-coord[q][1]);
}

void merge(int p)
{
	for(int i=1;i<=N;i++)
	{
		if(i!=p&&group[i])
			if(group[i]!=group[p]&&dis2(p,i)<=D*D)
			{
				int group_i=group[i];
				for(int j=1;j<=N;j++)
					if(group[j]==group_i)
						group[j]=group[p];
			}
	}
}

bool find(int p,int q)
{
	if(group[p]==0||group[q]==0)
		return FALSE;
	return group[p]==group[q]?TRUE:FALSE;
}

void main()
{
	cin>>N>>D;
	memset(group,0,sizeof(group));
	for(int i=1;i<=N;i++)
		cin>>coord[i][0]>>coord[i][1];
	char s;
	int p,q;
	while(scanf("%c",&s)!=EOF)
	{
		if(s=='O')
		{
			cin>>p;
			group[p]=p;
			merge(p);
		}
		else if(s=='S')
		{
			cin>>p>>q;
			if(find(p,q))
				cout<<"SUCCESS"<<endl;
			else cout<<"FAIL"<<endl;
		}
	}
	cout<<"main over";
}

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