这个题最后一个数据没有通过 ,先这样吧,过几天应该有题解,到时候在完善一下。。。
#include <cstdio> #include <cstring> #include <algorithm> #include <set> using namespace std; //<int> s[50]; struct node { int c=0;//zongzhi set<int > s; }; node ans[51]; int ch[51]; int main() { int n,x,m,k; scanf("%d",&n); for(int i=0;i<n;i++) { scanf("%d",&m); while(m--) { scanf("%d",&x); ans[i].s.insert(x); //ans[i].c++; } ans[i].c=ans[i].s.size(); } scanf("%d",&k); int a,b; node ans1; while(k--) { scanf("%d%d",&a,&b); ans1.s.clear(); for(set<int>::iterator it=ans[a-1].s.begin();it!=ans[a-1].s.end();it++) { ans1.s.insert(*it); } for(set<int>::iterator it=ans[b-1].s.begin();it!=ans[b-1].s.end();it++) { ans1.s.insert(*it); //ans1.c++; } int sum=ans1.s.size(); int nc=ans[a-1].c+ans[b-1].c-sum; //double printf("%.2f",nc*1.0/sum*100); printf("%%\n"); } return 0; }
时间: 2024-10-12 10:25:39