24. 相似的句子

Fifnmar

我来修改一下上面的代码,让它更好看一点

#include <algorithm>
#include <cctype>
#include <iostream>
#include <string>
#include <vector>
using namespace std;

vector<string> get_vec() {
    int num;
    cin >> num;
    vector<string> to_get(num);
    for (auto &i : to_get) {
        cin >> i;
        for (auto &j : i)
            j = tolower(j);
    }
    sort(to_get.begin(), to_get.end());
    return to_get;
}

int main() {
    ios::sync_with_stdio(false);
    cin.tie(0);
    int k;
    cin >> k;
    for (int i = 0; i < k; ++i)
        cout << "Case " << i + 1 << ": " << (get_vec() == get_vec() ? "YES\n" : "NO\n");
}
opdrugdealer

hack 第一名的代码:
测试数据:
1
3 a c d
3 a b e

Master X

关键就在最后四组数据。
先排序,在直接一个个比较

Fifnmar

是时候来造福人类了

其实和楼上的想法没什么不一样。

#include <algorithm>
#include <cctype>
#include <iostream>
#include <string>
#include <vector>
using namespace std;
int main() {
    int k;
    ios::sync_with_stdio(false);
    cin >> k;
    for (int i = 0; i < k; ++i) {
        vector<string> word1, word2;
        string temp;
        int num;
        cin >> num;
        for (int i = 0; i < num; ++i) {
            cin >> temp;
            for (auto &j : temp)
                j = tolower(j);
            word1.push_back(temp);
        }
        cin >> num;
        for (int i = 0; i < num; ++i) {
            cin >> temp;
            for (auto &j : temp)
                j = tolower(j);
            word2.push_back(temp);
        }
        sort(word1.begin(), word1.end());
        sort(word2.begin(), word2.end());
        cout << "Case " << i + 1 << ": " << (word1 == word2 ? "YES\n" : "NO\n");
    }
}
你当前正在回复 博客/题目
存在问题!