为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

最小集合覆盖MPI并行程序简化版

2017-10-30 12页 doc 30KB 8阅读

用户头像

is_348501

暂无简介

举报
最小集合覆盖MPI并行程序简化版最小集合覆盖MPI并行程序简化版 #include #include #include #include #include #include #include #include using namespace std; set MinCover(vector > vs) { set s; set sum; int i; int num; int vssize=vs.size(); int total=1 uion; int key; for(i=0;i>1)&0x555555...
最小集合覆盖MPI并行程序简化版
最小集合覆盖MPI并行程序简化版 #include #include #include #include #include #include #include #include using namespace std; set MinCover(vector > vs) { set s; set sum; int i; int num; int vssize=vs.size(); int total=1< uion; int key; for(i=0;i>1)&0x55555555); num= (num&0x33333333) + ((num>>2)&0x33333333); num= (num&0x0f0f0f0f) + ((num>>4)&0x0f0f0f0f); num= (num&0x00ff00ff) + ((num>>8)&0x00ff00ff); num = (num&0x0000ffff) + ((num>>16)&0x0000ffff); if(num > > vTest; vector vA; { vector > vs; {const int a[]={41,42,43,44,45,56,57,58,59,60};vs.push_back(set(a,a+sizeof(a)/sizeof(a [0])));} {const int a[]={51,52,53,54,55,56,57,58,59,60};vs.push_back(set(a,a+sizeof(a)/sizeof(a [0])));} {const int a[]={51,52,53,54,55,66,67,68,69,70};vs.push_back(set(a,a+sizeof(a)/sizeof(a [0])));} {const int a[]={61,62,63,64,65,66,67,68,69,70};vs.push_back(set(a,a+sizeof(a)/sizeof(a [0])));} {const int a[]={61,62,63,64,65,76,77,78,79,80};vs.push_back(set(a,a+sizeof(a)/sizeof(a [0])));} {const int a[]={71,72,73,74,75,76,77,78,79,80};vs.push_back(set(a,a+sizeof(a)/sizeof(a [0])));} {const int a[]={71,72,73,74,75,86,87,88,89,90};vs.push_back(set(a,a+sizeof(a)/sizeof(a [0])));} {const int a[]={81,82,83,84,85,86,88,88,89,90};vs.push_back(set(a,a+sizeof(a)/sizeof(a[0])));} {const int a[]={81,82,83,84,85,96,97,98,99,100};vs.push_back(set(a,a+sizeof(a)/sizeof(a[0])));} {const int a[]={91,92,93,94,95,96,98,98,99,100};vs.push_back(set(a,a+sizeof(a)/sizeof(a[0])));} {const int a[]={91,92,93,94,95,6,7,8,9,10};vs.push_back(set(a,a+sizeof(a)/sizeof(a[0])));} {const int a[]={1,2,3,4,5,6,7,8,9,10};vs.push_back(set(a,a+sizeof(a)/sizeof(a[0])));} {const int a[]={1,2,3,4,5,16,17,18,19,20};vs.push_back(set(a,a+sizeof(a)/sizeof(a[0])));} {const int a[]={11,12,13,14,15,16,17,18,19,20};vs.push_back(set(a,a+sizeof(a)/sizeof(a[0])));} {const int a[]={11,12,13,14,15,26,27,28,29,30};vs.push_back(set(a,a+sizeof(a)/sizeof(a[0])));} {const int a[]={21,22,23,24,25,26,27,28,29,30};vs.push_back(set(a,a+sizeof(a)/sizeof(a[0])));} {const int a[]={21,22,23,24,25,36,37,38,39,40};vs.push_back(set(a,a+sizeof(a)/sizeof(a[0])));} {const int a[]={31,32,33,34,35,36,37,38,39,40};vs.push_back(set(a,a+sizeof(a)/sizeof(a[0])));} {const int a[]={31,32,33,34,35,46,47,48,49,50};vs.push_back(set(a,a+sizeof(a)/sizeof(a[0])));} {const int a[]={41,42,43,44,45,46,47,48,49,50};vs.push_back(set(a,a+sizeof(a)/sizeof(a[0])));} vTest.push_back(vs); vA.push_back(10); } /*{ vector > vs; {const int a[]={61,62,63,64,65,66,67,68,69,70};vs.push_back(set(a,a+sizeof(a)/sizeof(a [0])));} {const int a[]={61,62,63,64,65,86,87,88,89,90};vs.push_back(set(a,a+sizeof(a)/sizeof(a[0])));} {const int a[]={71,72,73,74,75,76,77,78,79,80};vs.push_back(set(a,a+sizeof(a)/sizeof(a[0])));} {const int a[]={71,72,73,74,75,96,97,98,99,100};vs.push_back(set(a,a+sizeof(a)/sizeof(a[0])));} {const int a[]={81,82,83,84,85,86,88,88,89,90};vs.push_back(set(a,a+sizeof(a)/sizeof(a[0])));} {const int a[]={81,82,83,84,85,6,7,8,9,10};vs.push_back(set(a,a+sizeof(a)/sizeof(a[0])));} {const int a[]={91,92,93,94,95,96,98,98,99,100};vs.push_back(set(a,a+sizeof(a)/sizeof(a[0])));} {const int a[]={91,92,93,94,95,16,17,18,19,20};vs.push_back(set(a,a+sizeof(a)/sizeof(a[0])));} {const int a[]={1,2,3,4,5,6,7,8,9,10};vs.push_back(set(a,a+sizeof(a)/sizeof(a[0])));} {const int a[]={1,2,3,4,5,26,27,28,29,30};vs.push_back(set(a,a+sizeof(a)/sizeof(a[0])));} {const int a[]={11,12,13,14,15,16,17,18,19,20};vs.push_back(set(a,a+sizeof(a)/sizeof(a[0])));} {const int a[]={11,12,13,14,15,36,37,38,39,40};vs.push_back(set(a,a+sizeof(a)/sizeof(a[0])));} {const int a[]={21,22,23,24,25,26,27,28,29,30};vs.push_back(set(a,a+sizeof(a)/sizeof(a[0])));} {const int a[]={21,22,23,24,25,46,47,48,49,50};vs.push_back(set(a,a+sizeof(a)/sizeof(a[0])));} {const int a[]={31,32,33,34,35,36,37,38,39,40};vs.push_back(set(a,a+sizeof(a)/sizeof(a[0])));} {const int a[]={31,32,33,34,35,56,57,58,59,60};vs.push_back(set(a,a+sizeof(a)/sizeof(a [0])));} {const int a[]={41,42,43,44,45,46,47,48,49,50};vs.push_back(set(a,a+sizeof(a)/sizeof(a [0])));} {const int a[]={41,42,43,44,45,66,67,68,69,70};vs.push_back(set(a,a+sizeof(a)/sizeof(a [0])));} {const int a[]={51,52,53,54,55,56,57,58,59,60};vs.push_back(set(a,a+sizeof(a)/sizeof(a [0])));} {const int a[]={51,52,53,54,55,76,77,78,79,80};vs.push_back(set(a,a+sizeof(a)/sizeof(a [0])));} vTest.push_back(vs); vA.push_back(10); } */ int rank; MPI_Init(&argc,&argv); MPI_Comm_rank(MPI_COMM_WORLD,&rank); fstream result; if(rank==0) result.open("result.txt",std::ios_base::app); for(unsigned int i=0;i s=MinCover(vTest[i]); t+=clock(); if(rank==0) { cout<::iterator iter=s.begin();iter!=s.end();++iter) { cout<<" "<<*iter; } cout<<", execution time is "< v; set w; for(vector >::iterator iter=vTest[i].begin();iter!=vTest[i].end();++iter) v.insert(iter->begin(),iter->end()); for(set::iterator iter=s.begin();iter!=s.end();++iter) w.insert(vTest[i][*iter].begin(),vTest[i][*iter].end()); if(w!=v) { cout<<"error2!"<
/
本文档为【最小集合覆盖MPI并行程序简化版】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索