专栏文章
题解:UVA12015 手气不错
UVA12015题解参与者 1已保存评论 0
文章操作
快速查看文章及其快照的属性,并进行相关操作。
- 当前评论
- 0 条
- 当前快照
- 1 份
- 快照标识符
- @miph6epx
- 此快照首次捕获于
- 2025/12/03 11:56 3 个月前
- 此快照最后确认于
- 2025/12/03 11:56 3 个月前
蒟蒻第一次写题解,还请多指教~
题目大意
题目要求我们根据给出的 个网址和对应的相关性,分析“手气不错”功能可能选择的所有网址。
思路
题目中说“手气不错”功能将选择相关性最高的网页,如果存在多个网页具有相同的最高相关性,则所有这些网页都有可能被选中。也就是说,我们需要在给出的 个网址相关性中,查找最大的相关性,并输出所有跟这个最大相关性值相同的相关性所对应的网址(有点绕)。按此逻辑,我们只需要求出最大相关性后,再遍历每一个网址对应的相关性时比较它们大小就可以了。
代码
题目要求按输入顺序输出,我们只需要让两个循环都保持从小到大即可。(考虑到这是一道黄题,而且 的数据范围没给出,因此默认 为 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 条评论,欢迎与作者交流。
正在加载评论...