#include <iostream>#include <map>#include <cmath>#include <stdio.h>using namespace std;string ten(10, '-');int main(int argc, char *argv[]){ int n; cin >> n; map<string, int> match; map<string, int> document; while ( n-- > 0 ) { match.clear(); string a, b; do { cin >> a; if( a == ten) break; b = ""; for(unsigned int i = 0; i < a.size(); i++) { if(isdigit(a[i]) || islower(a[i])) b += a[i]; else if( isupper(a[i])) b += (tolower(a[i])); } if(b != "") match[b]++; }while(1); document.clear(); cin >> a; while(1) { do { if(a == ten) break; b = ""; for(int i = 0; i < a.size(); i++) { if(isdigit(a[i]) || islower(a[i])) b += a[i]; else if( isupper(a[i])) b += (tolower(a[i])); } if(match[b] > 0) document[b]++; cin >> a; }while(1); double sum = 0; for(map<string, int>::iterator pos = match.begin(); pos != match.end(); pos++) { double m1 = pos->second; double m2 = document[pos->first]; sum += sqrt(m1 * m2); } printf("%.2lfn", sum); document.clear(); cin >> a; if( a == ten) break; } if(n > 0) printf("n"); } return 0;}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)