PAT a1063题解

来源:互联网 发布:最优化第二版课后答案 编辑:程序博客网 时间:2024/06/08 19:54
#include <cstdio>#include <set>using namespace std;const int N = 51;set<int> st[N];void compare(int x, int y){int totalNum = st[y].size(), sameNum = 0;for(set<int>::iterator it = st[x].begin(); it != st[x].end(); it++){if(st[y].find(*it) != st[y].end()) sameNum++;else totalNum++;}printf("%.1f%\n", sameNum * 100.0  / totalNum);}int main(){int n, k, q, v, st1, st2;scanf("%d", &n);for(int i = 1; i <= n; i++){scanf("%d", &k);for(int j = 0; j < k; j++){scanf("%d", &v);st[i].insert(v);}}scanf("%d", &q);for(int i = 0; i < q; i++){scanf("%d%d", &st1, &st2);compare(st1, st2);}return 0;}

原创粉丝点击