提交 093799b4 编写于 作者: 无雨无晴321's avatar 无雨无晴321

上传新文件

上级 99b833d5
#include <iostream>
#include <vector>
#include <string>
#include <fstream>
using namespace std;
class solution {
public:
static double compare(vector<string> s1, vector<string> s2) {
vector<vector<int>> match(s1.size() + 1, vector<int>(s2.size() + 1, 0));
int i, j;
for (i = 1; i <= s1.size(); i++) {
for (j = 1; j <= s2.size(); j++) {
if (s1[i - 1] == s2[j - 1]) {
match[i][j] = match[i - 1][j - 1] + 1;//match是s1前i-1个和s2前j-1个 的 相同的个数,再加上当前相同的个数。
}
else {
match[i][j] = max(match[i - 1][j], match[i][j - 1]);
}
}
}
return (double)(match[s1.size()][s2.size()]) / s1.size();
}
};
vector<string> readfile(const string& filepath) {
ifstream file(filepath, ios::binary | ios::in);
string line;
vector<string> paper;
if (file.is_open()) {
while (getline(file, line)) {
paper.push_back(line);
}
file.close();
return paper;
}
else {
cout << "无法打开文件,请检查路径" << endl;
return paper;
}
}
int main() {
string path1, path2, paper3;
cin >> path1;
cin >> path2;
cin >> paper3;
ofstream file(paper3);
vector<string> paper1 = readfile(path1);
vector<string> paper2 = readfile(path2);
double similarity = solution::compare(paper1, paper2);
file << similarity << endl;
return 0;
};
\ No newline at end of file
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册