UVA12015 题解

· · 题解

题目大意

题目要求模拟 Google 搜索的“手气不错”功能:给定 10 个网页及其相关性分数,找出所有相关性最高的网页(可能有多个并列),并按输入顺序输出它们的 URL。

题目思路

一道非常简单的大模拟。我的想法是先直接寻找最大值,然后边输出边看,只要关性分数等于最大值就输出它的 URL。

数据储存用数组、动态数组 vector、结构体 sturct 等都可以。接下来用结构体储存数据,来写一下这个大模拟。

参考代码

#include <bits/stdc++.h>
#define int long long
#define rint register long long
#define fast_running ios::sync_with_stdio(false), std::cin.tie(0), std::cout.tie(0);
using namespace std;
struct Google {
    string url;
    int v;
} a[12];    //结构体储存网页信息
signed main() {
    fast_running;  //加速
    int T;
    cin >> T;
    for (int cnt = 1; cnt <= T; cnt++) {
        int maxn = 0;
        for (int i = 1; i <= 10; i++) cin >> a[i].url >> a[i].v;
        for (int i = 1; i <= 10; i++) maxn = max(maxn, a[i].v);      //寻找最大的相关性分数
        cout << "Case #" << cnt << ":\n";  //输出编号
        for (int i = 1; i <= 10; i++) {
            if (a[i].v == maxn) cout << a[i].url << '\n';
        }  //如果网页的相关性分数等于最大值,输出该网站的 URL
    }
    return 0;
}

~ 完结撒花 ~