题目
题目链接
题解STL。
一开始我用的map,由于使用其size函数,一直出错; 我发现map的size函数很不稳定,我是定义的的map,输入一个就map[i][string]=true,但是发现不同时候输出的map[i].size()不同,这就很迷。
最后看了别人的博客就用了set。
代码#include
using namespace std;
const int N = 1e4+10;
int n, m;
set s[N];
int main()
{
cin >> n;
for (int i = 1;i > m;
while (m --) {
string str;
cin >> str;
s[i].insert (str);
}
}
cin >> m;
while (m --) {
int a, b, nc = 0, nt = 0;
cin >> a >> b;
for (auto i : s[a])
if (s[b].find (i) != s[b].end ())
nc ++;
nt = s[a].size () + s[b].size () - nc;
printf ("%.2lf\%\n", 100.0 * nc / nt);
}
return 0;
}