PAT代码查重C++
时间: 2024-04-17 22:19:51 浏览: 202
C++程序设计实现代码查重.zip
5星 · 资源好评率100%
PAT代码查重是指在PAT(Programming Ability Test)考试中,判断一段C++代码是否与其他代码重复。这个问题可以通过使用哈希表来解决。具体步骤如下:
1. 创建一个哈希表,用于存储已经出现过的代码片段。
2. 读取每个代码片段,并将其转换为哈希值。
3. 检查哈希表中是否已经存在该哈希值,如果存在,则说明该代码片段重复;如果不存在,则将该哈希值添加到哈希表中。
4. 重复步骤2和步骤3,直到读取完所有的代码片段。
5. 输出所有重复的代码片段。
以下是一个示例代码,演示了如何实现PAT代码查重的功能:
```cpp
#include <iostream>
#include <unordered_set>
#include <string>
using namespace std;
int main() {
int n;
cin >> n;
cin.ignore(); // 忽略换行符
unordered_set<string> codeSet;
unordered_set<string> duplicateSet;
for (int i = 0; i < n; i++) {
string code;
getline(cin, code);
if (codeSet.count(code) > 0) {
duplicateSet.insert(code);
} else {
codeSet.insert(code);
}
}
for (const auto& code : duplicateSet) {
cout << code << endl;
}
return 0;
}
```
阅读全文