记录编号 51913 评测结果 AAAAAAAAAA
题目名称 [USACO Mar08] 混乱的齿轮 最终得分 100
用户昵称 Gravatarcstdio 是否通过 通过
代码语言 C++ 运行时间 0.012 s
提交时间 2013-01-04 20:07:33 内存使用 1.44 MiB
显示代码纯文本
#include<iostream>
#include<cstdio>
#include<queue>
using namespace std;
class ROLLER{
	public:
	int x,y,r;
}whe[1080];
int n,first;
bool bes[1080][1080]={0};//bes=beside
queue<int> s;
void input(void){
	scanf("%d",&n);
	int i,j;
	for(i=0;i<n;i++){
		scanf("%d%d%d",&whe[i].x,&whe[i].y,&whe[i].r);
		if(whe[i].x==0&&whe[i].y==0) first=i;
		for(j=0;j<i;j++){
			if((whe[i].x-whe[j].x)*(whe[i].x-whe[j].x)+(whe[i].y-whe[j].y)*(whe[i].y-whe[j].y)==(whe[i].r+whe[j].r)*(whe[i].r+whe[j].r)) bes[i][j]=1,bes[j][i]=1;
		}
	}
}
int BFS(void){
	int p;
	int i;
	bool visit[1080]={0};
	s.push(first);
	visit[first]=true;
	while(!s.empty()){
		p=s.front();
		s.pop();
		for(i=0;i<n;i++){
			if(i==p) continue;
			if(bes[i][p]&&!visit[i]) s.push(i),visit[i]=true;
		}
	};
	return p;
}
int main(){
	freopen("rollers.in","r",stdin);
	freopen("rollers.out","w",stdout);
	input();
	int ans=BFS();
	printf("%d %d",whe[ans].x,whe[ans].y);
	return 0;
}