换一种写法 只使用iostream头文件
时间: 2024-10-21 18:11:20 浏览: 17
如果你想要只使用 `<iostream>` 头文件来实现这个功能,你可以稍微修改上面的代码,因为 `<unordered_map>` 和 `<vector>` 也依赖于 `<iostream>` 的一些基础输入输出函数。这里是一个简化版的代码,只保留了基本的输入和输出操作:
```cpp
#include <iostream>
#include <unordered_set>
int main() {
int n;
std::cin >> n;
std::vector<int> nums(n);
for (int i = 0; i < n; i++) {
std::cin >> nums[i];
}
std::unordered_set<std::pair<int, int>> seen_sums;
int count = 0;
for (int i = 0; i < n; i++) {
int target = -nums[i];
if (seen_sums.find({target, i}) != seen_sums.end()) {
count++;
seen_sums.erase({nums[i], i});
} else {
seen_sums.insert({nums[i], i});
}
}
std::cout << count << std::endl;
return 0;
}
```
这段代码仍然实现了相同的逻辑,只是使用了更简洁的方式声明容器并处理已知值。
阅读全文