07-图4 哈利·波特的考试

#include <stdio.h>

int Min(int a, int b);
int Max(int a, int b);

int main(int argc, char const *argv[])
{
	// freopen("test.txt", "r", stdin);
	int N, M;
	scanf("%d %d", &N, &M);
	int graph[N+1][N+1];
	for (int i = 1; i <= N; i++){
		for (int j = 1; j <= N; j++){
			if (i == j)
				graph[i][j] = 0;
			else
				graph[i][j] = -1;
		}
	}
	int n1, n2, len;
	for (int i = 0; i < M; i++){
		scanf("%d %d %d", &n1, &n2, &len);
		graph[n1][n2] = graph[n2][n1] = len;
	}
	for (int i = 1; i <= N; i++){
		for (int k = 1; k <= N; k++){
			if (graph[i][k] == -1)
				continue;
			for (int j = 1; j <= N; j++){
				if (graph[k][j] == -1)
					continue;
				if (graph[i][j] == -1)
					graph[i][j] = graph[j][i] = graph[i][k]+graph[k][j];
				else
					graph[i][j] = graph[j][i] = Min(graph[i][j], graph[i][k]+graph[k][j]);
			}
		}
	}
	int num = -1, lenth = 10000, tmp;
	for (int i = 1; i <= N; i++){
		tmp = 0;
		for (int j = 1; j <= N; j++){
			if (i == j)
				continue;
			if (graph[i][j] == -1)
				break;
			tmp = Max(tmp, graph[i][j]);
			if (tmp < lenth && j >= N){
				num = i;
				lenth = tmp;
			}
		}
	}
	if (num == -1)
		printf("0\n");
	else
		printf("%d %d\n", num, lenth);
	return 0;
}

int Min(int a, int b)
{
	if (a < b)
		return a;
	else
		return b;
}

int Max(int a, int b)
{
	if (a > b)
		return a;
	else
		return b;
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
根据提供的引用内容,我们可以了解到《哈利波特》是一部关于哈利、赫敏、罗恩等人在大法师邓布利多的帮助下,使用魔法抵抗伏地魔的故事。同时,根据引用和引用,我们可以使用Python对小说中的人物名字和出现频率进行统计和分析。 以下是Python代码示例: 1. 统计人物名字TOP20的词语 ```python import jieba import pandas as pd from collections import Counter from pyecharts import Bar # 读取小说文本 with open('harry_potter.txt', 'r', encoding='utf-8') as f: text = f.read() # 使用jieba分词 words = jieba.lcut(text) # 统计人物名字出现的次数 names = ['哈利', '赫敏', '罗恩', '邓布利多', '马尔福', '斯内普', '小天狼星'] names_count = Counter([word for word in words if word in names]) # 绘制柱状 bar = Bar('主要人物Top20', background_color='white', title_pos='center', title_text_size=20) x = names_count.most_common(20) bar.add('', [i[0] for i in x], [i[1] for i in x], xaxis_interval=0, xaxis_rotate=30, is_label_show=True) bar.render() ``` 2. 统计整部小说出现最多的词语TOP15 ```python import jieba import pandas as pd from collections import Counter # 读取小说文本 with open('harry_potter.txt', 'r', encoding='utf-8') as f: text = f.read() # 使用jieba分词 words = jieba.lcut(text) # 统计词语出现的次数 words_count = Counter(words) # 去除停用词 stopwords = pd.read_csv('stopwords.txt', index_col=False, quoting=3, sep='\t', names=['stopword'], encoding='utf-8') words = [word for word in words if word not in stopwords] # 统计出现最多的词语TOP15 top15 = words_count.most_common(15) print(top15) ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值