专栏文章

题解:UVA12015 手气不错

UVA12015题解参与者 1已保存评论 0

文章操作

快速查看文章及其快照的属性,并进行相关操作。

当前评论
0 条
当前快照
1 份
快照标识符
@miph6epx
此快照首次捕获于
2025/12/03 11:56
3 个月前
此快照最后确认于
2025/12/03 11:56
3 个月前
查看原文
蒟蒻第一次写题解,还请多指教~

题目大意

题目要求我们根据给出的 1010 个网址和对应的相关性,分析“手气不错”功能可能选择的所有网址。

思路

题目中说“手气不错”功能将选择相关性最高的网页,如果存在多个网页具有相同的最高相关性,则所有这些网页都有可能被选中。也就是说,我们需要在给出的 1010 个网址相关性中,查找最大的相关性,并输出所有跟这个最大相关性相同的相关性所对应的网址(有点绕)。按此逻辑,我们只需要求出最大相关性后,再遍历每一个网址对应的相关性时比较它们大小就可以了。

代码

题目要求按输入顺序输出,我们只需要让两个循环都保持从小到大即可。(考虑到这是一道黄题,而且 tt 的数据范围没给出,因此默认 tt 为 int 类型,时间应该不会爆)
CPP
#include <bits/stdc++.h>//万能头
using namespace std;
string s[15];//用字符串存网址
int v[15];//网址的相关性
int t;
int main(){
	cin >> t;
	int x=0;//用于记录循环次数 
	while(t--){//t组数据,t次循环
		x++;
		int maxx=-1;//存最大相关性,初始值要最小,方便取最大值. 
		for(int i=1;i<=10;i++){//每组测试数据10个网址 
			cin >> s[i];
			cin >> v[i];
			maxx=max(maxx,v[i]);//取自己和输入值的大者,10次循环后即是最大相关性 
		}
		cout << "Case #" << x << ":" << endl;//第x次循环,第x次输出 
		for(int i=1;i<=10;i++){//再循环一遍 
			if(v[i]==maxx){//若有跟最大值一样大的相关性,则此相关性对应的网址也可能被选中 
				cout << s[i] << endl;
			}
		}
	}//t组数据循环完毕,结束
	return 0;//养成好习惯 
}

评论

0 条评论,欢迎与作者交流。

正在加载评论...