| ||||||||||
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 |
在我机器上运行并且自己觉得完全无误的代码为什么会WA呢?有兴趣的来帮忙!!#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: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator