自己做的网站怎么上传到域名西地那非可以长期吃吗
web/
2025/10/3 1:13:16/
文章来源:
自己做的网站怎么上传到域名,西地那非可以长期吃吗,app充值网站开发,怎样做自己介绍网站ACM中的工作分配问题是一个典型的回溯问题#xff0c;利用回溯思想能很准确地得到问题的解。下面就这个问题好好分析下。 问题描述#xff1a; 设有n件工作分配给n个人。为第i个人分配工作j所需的费用为c[i][j] 。试设计一个算法#xff0c;计算最佳工作分配方案#xff0c… ACM中的工作分配问题是一个典型的回溯问题利用回溯思想能很准确地得到问题的解。下面就这个问题好好分析下。 问题描述 设有n件工作分配给n个人。为第i个人分配工作j所需的费用为c[i][j] 。试设计一个算法计算最佳工作分配方案为每一个人都分配1 件不同的工作并使总费用达到最小。 解题思路 由于每个人都必须分配到工作在这里可以建一个二维数组c[i][j]用以表示i号工人完成j号工作所需的费用。给定一个循环从第1个工人开始循环分配工作直到所有工人都分配到。为第i个工人分配工作时再循环检查每个工作是否已被分配没有则分配给i号工人否则检查下一个工作。可以用一个一维数组x[j]来表示第j 号工作是否被分配未分配则x[j]0否则x[j]1。利用回溯思想在工人循环结束后回到上一工人取消此次分配的工作而去分配下一工作直到可以分配为止。这样一直回溯到第1个工人后就能得到所有的可行解。在检查工作分配时其实就是判断取得可行解时的二维数组的一下标都不相同二下标同样不相同。 样例分析 给定3件工作i号工人完成j号工作的费用如下 10 2 3 2 3 4 3 4 5 假定一个变量count表示工作费用总和初始为0变量i表示第i号工人初始为1。n表示总的工作量这里是取3。c[i][j]表示i号工人完成j号工作的费用x[j]表示j号工作是否被分配。算法如下#includeiostream
#includecstdio
using namespace std;
int n,cost0;
int x[100],c[100][100];
void work(int i,int count){if(incountcost){costcount;return ;}if(countcost)for(int j1;jn;j)if(x[j]0){x[j]1;work(i1,countc[i][j]);x[j]0;}
}
int main ()
{while(~scanf(%d,n)){for(int i1;in;i){for(int j1;jn;j)scanf(%d,c[i][j]);x[i]0;costc[i][i];}work(1,0);printf(%d\n,cost);}return 0;
}转载于:https://www.cnblogs.com/pealicx/p/6115682.html
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/85928.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!