摘要: 吝啬的国度时间限制:1000ms |内存限制:65535KB难度:3描述在一个吝啬的国度里有N个城市,这N个城市间只有N-1条路把这个N个城市连接起来。现在,Tom在第S号城市,他有张该国地图,他想知道如果自己要去参观第T号城市,必须经过的前一个城市是几号城市(假设你不走重复的路)。输入第一行输入一个整数M表示测试数据共有M(1<=M<=5)组每组测试数据的第一行输入一个正整数N(1<=N<=100000)和一个正整数S(1<=S<=100000),N表示城市的总个数,S表示参观者所在城市的编号随后的N-1行,每行有两个正整数a,b(1<=a,b< 阅读全文
posted @ 2012-05-30 22:22 可笑痴狂 阅读(396) 评论(0) 推荐(1) 编辑
摘要: /*//代码一:克鲁斯卡尔算法(超时)#include<stdio.h>#include<malloc.h>#include<string.h>#include<string.h>struct edge{int v1;int v2;int c;}t;int v,e,sum;int find(int father[],int v){int temp=v;while(father[temp]>0)temp=father[temp];return temp;}void Kruskal(struct edge edges[],int n){int 阅读全文
posted @ 2012-05-30 22:18 可笑痴狂 阅读(260) 评论(0) 推荐(1) 编辑
摘要: 街区最短路径问题时间限制:3000 ms | 内存限制:65535 KB难度:4描述一个街区有很多住户,街区的街道只能为东西、南北两种方向。住户只可以沿着街道行走。各个街道之间的间隔相等。用(x,y)来表示住户坐在的街区。例如(4,20),表示用户在东西方向第4个街道,南北方向第20个街道。现在要建一个邮局,使得各个住户到邮局的距离之和最少。求现在这个邮局应该建在那个地方使得所有住户距离之和最小;输入第一行一个整数n 2 #include 3 #include 4 5 using namespace std; 6 7 int main() 8 { 9 int T, m, sum... 阅读全文
posted @ 2012-05-30 22:11 可笑痴狂 阅读(247) 评论(0) 推荐(1) 编辑
摘要: 一笔画问题时间限制:3000 ms | 内存限制:65535 KB难度:4描述zyc从小就比较喜欢玩一些小游戏,其中就包括画一笔画,他想请你帮他写一个程序,判断一个图是否能够用一笔画下来。规定,所有的边都只能画一次,不能重复画。输入第一行只有一个正整数N(N<=10)表示测试数据的组数。每组测试数据的第一行有两个正整数P,Q(P<=1000,Q<=2000),分别表示这个画中有多少个顶点和多少条连线。(点的编号从1到P)随后的Q行,每行有两个正整数A,B(0<A,B<P),表示编号为A和B的两点之间有连线。输出如果存在符合条件的连线,则输出"Yes&qu 阅读全文
posted @ 2012-05-30 22:08 可笑痴狂 阅读(362) 评论(0) 推荐(1) 编辑