2 条题解
-
0
#include <bits/stdc++.h> using u32 = unsigned; using i64 = long long; using u64 = unsigned long long; using i128 = __int128; void solve() { int n; std::cin >> n; std::vector<std::vector<std::pair<int, int>>> a(n); std::set<std::vector<std::pair<int, int>>> S; std::map<int, std::vector<int>> mp; for (int i = 0; i < n; i++) { int m; std::cin >> m; for (int j = 0; j < m; j++) { int p, e; std::cin >> p >> e; a[i].emplace_back(p, e); mp[p].emplace_back(e); } } for (auto &it: mp) { auto &v = it.second; std::sort(v.begin(), v.end()); } for (const auto &v: a) { std::vector<std::pair<int, int>> t; for (auto it: v) { int p = it.first, e = it.second; if (mp[p].size() == 1) { t.emplace_back(p, e); } else { if (e < mp[p].back()) { continue; } else { if (mp[p][mp[p].size() - 2] == e) { continue; } else { t.emplace_back(p, e); } } } } S.insert(t); } std::cout << S.size() << "\n"; } int main() { std::ios::sync_with_stdio(false); std::cin.tie(nullptr), std::cout.tie(nullptr); int T = 1; // std::cin >> T; while (T--) { solve(); } return 0; }
信息
- ID
- 334
- 时间
- 1500ms
- 内存
- 256MiB
- 难度
- 9
- 标签
- (无)
- 递交数
- 491
- 已通过
- 33
- 上传者