[usaco]Bessie Come Home

简介: <p>Kolstad & Burch <br> It's dinner time, and the cows are out in their separate pastures. Farmer John rings the bell so they will start walking to the barn. Your job is to figure out which o

Kolstad & Burch
It's dinner time, and the cows are out in their separate pastures. Farmer John rings the bell so they will start walking to the barn. Your job is to figure out which one cow gets to the barn first (the supplied test data will always have exactly one fastest cow).

Between milkings, each cow is located in her own pasture, though some pastures have no cows in them. Each pasture is connected by a path to one or more other pastures (potentially including itself). Sometimes, two (potentially self-same) pastures are connected by more than one path. One or more of the pastures has a path to the barn. Thus, all cows have a path to the barn and they always know the shortest path. Of course, cows can go either direction on a path and they all walk at the same speed.

The pastures are labeled `a'..`z' and `A'..`Y'. One cow is in each pasture labeled with a capital letter. No cow is in a pasture labeled with a lower case letter. The barn's label is `Z'; no cows are in the barn, though.

PROGRAM NAME: comehome
INPUT FORMAT
Line 1:  Integer P (1 <= P <= 10000) the number of paths that interconnect the pastures (and the barn) 
Line 2..P+1:  Space separated, two letters and an integer: the names of the interconnected pastures/barn and the distance between them (1 <= distance <= 1000) 

SAMPLE INPUT (file comehome.in)
5
A d 6
B d 3
C e 9
d Z 8
e Z 3

OUTPUT FORMAT
A single line containing two items: the capital letter name of the pasture of the cow that arrives first back at the barn, the length of the path followed by that cow.
SAMPLE OUTPUT (file comehome.out)
B 11

--------------------------------------------------------------------
本题就是一个拓扑排序,找到到根节点最近的带权节点。
由于最多有26×2=52个节点。因此直接用关联矩阵就可以了。

 

 

 

我的解法:
——————————————————————————————————————————————————————————

/*
ID:yunleis2
PROG:comehome
LANG:C++
*/
#include<iostream>
#include<fstream>
#include<queue>
using namespace std;
int src[26*2][26*2];
int dest[26*2];
int main()
{
	fstream fin("comehome.in",ios::in);
	int p;
	fin>>p;
	for(int i=0;i<52;i++)
	{
		for(int j=0;j<52;j++)
		{
			src[i][j]=-1;
			
			if(i==j)
			{
				src[i][j]=0;
				 
			}
		}
		dest[i]=-1;
	}

	queue<int > q;
	dest['Z'-'A']=0;
	for(int i=0;i<p;i++)
	{
		char a,b;
		int w;
		fin>>a>>b>>w;
		if(a>='a')
			a=a-'a'+'A'+26;
		if(b>='a')
			b=b-'a'+'A'+26;
		if(src[a-'A'][b-'A']==-1||src[a-'A'][b-'A']>w)
		{
			src[a-'A'][b-'A']=w;
			src[b-'A'][a-'A']=w;
		}
	}
 /*
	for(int i=0;i<52;i++)
	{
		for(int j=0;j<52;j++)
		{
			if(i!=j&&src[i][j]!=-1)
				cout<<i<<"\t"<<j<<"\t"<<src[i][j]<<endl;
		}
	}
 */
	q.push('Z'-'A');
	while(!q.empty())
	{
		int t=q.front();
		q.pop();
		for(int i=0;i<52;i++)
		{
			if(src[t][i]!=-1&&(dest[i]==-1||( (src[t][i]+dest[t])<dest[i] )))
			{
				dest[i]=src[t][i]+dest[t];
				q.push(i);
			}
		}

	}
	int ptr=-1;
	for(int i=0;i<26;i++)
	{
		if(dest[i]>0)
		{
			cout<<i<<" "<<dest[i]<<endl;
			if(ptr==-1)
				ptr=i;
			else
				if(dest[i]<dest[ptr])
					ptr=i;
		}
	}
	fstream fout("comehome.out",ios::out);
	fout<<(char)('A'+ptr)<<" "<<dest[ptr]<<endl;
// 	system("pause");
}


 

目录
相关文章
|
1天前
|
云安全 人工智能 安全
AI被攻击怎么办?
阿里云提供 AI 全栈安全能力,其中对网络攻击的主动识别、智能阻断与快速响应构成其核心防线,依托原生安全防护为客户筑牢免疫屏障。
|
11天前
|
域名解析 人工智能
【实操攻略】手把手教学,免费领取.CN域名
即日起至2025年12月31日,购买万小智AI建站或云·企业官网,每单可免费领1个.CN域名首年!跟我了解领取攻略吧~
|
5天前
|
安全 Java Android开发
深度解析 Android 崩溃捕获原理及从崩溃到归因的闭环实践
崩溃堆栈全是 a.b.c?Native 错误查不到行号?本文详解 Android 崩溃采集全链路原理,教你如何把“天书”变“说明书”。RUM SDK 已支持一键接入。
449 192
|
3天前
|
数据采集 消息中间件 人工智能
跨系统数据搬运的全方位解析,包括定义、痛点、技术、方法及智能体解决方案
跨系统数据搬运打通企业数据孤岛,实现CRM、ERP等系统高效互通。伴随数字化转型,全球市场规模超150亿美元,中国年增速达30%。本文详解其定义、痛点、技术原理、主流方法及智能体新范式,结合实在Agent等案例,揭示从数据割裂到智能流通的实践路径,助力企业降本增效,释放数据价值。
|
9天前
|
人工智能 自然语言处理 安全
国内主流Agent工具功能全维度对比:从技术内核到场景落地,一篇读懂所有选择
2024年全球AI Agent市场规模达52.9亿美元,预计2030年将增长至471亿美元,亚太地区增速领先。国内Agent工具呈现“百花齐放”格局,涵盖政务、金融、电商等多场景。本文深入解析实在智能实在Agent等主流产品,在技术架构、任务规划、多模态交互、工具集成等方面进行全维度对比,结合市场反馈与行业趋势,为企业及个人用户提供科学选型指南,助力高效落地AI智能体应用。
|
5天前
|
消息中间件 安全 NoSQL
阿里云通过中国信通院首批安全可信中间件评估
近日,由中国信通院主办的 2025(第五届)数字化转型发展大会在京举行。会上,“阿里云应用服务器软件 AliEE”、“消息队列软件 RocketMQ”、“云数据库 Tair”三款产品成功通过中国信通院“安全可信中间件”系列评估,成为首批获此认证的中间件产品。此次评估覆盖安全可信要求、功能完备性、安全防护能力、性能表现、可靠性与可维护性等核心指标,标志着阿里云中间件产品在多架构适配与安全能力上达到行业领先水平。
315 195

热门文章

最新文章