首页 > 代码库 > hdu 5036 Explosion
hdu 5036 Explosion
学了下bitset
#include <iostream>#include <bitset>#include <cstdio>using namespace std;const int N=1005;bitset<N>a[N];int t,n,cas=1,c;int main(){ cin>>t; while(t--){ scanf("%d",&n); for(int i=0;i<n;i++){ a[i].reset(); a[i][i]=1; } for(int i=0;i<n;i++){ scanf("%d",&c); while(c--){ int x; scanf("%d",&x); x--; a[i][x]=true; } } for(int i=0;i<n;i++) for(int j=0;j<n;j++) if(a[j][i])a[j]|=a[i]; double ans=0; for(int i=0;i<n;i++){ c=0; for(int j=0;j<n;j++)if(a[j][i])c++; ans+=1.0/c; } printf("Case #%d: %.5f\n",cas++,ans); } return 0;}
hdu 5036 Explosion
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。