摘要: #include<cstdio> #include<queue> #include<vector> #include<cstring> using namespace std; int n,m,k; int dis[100001]; vector<int>a[100001],zhi[100001]; 阅读全文
posted @ 2019-09-03 21:53 fanhao110 阅读(169) 评论(0) 推荐(0) 编辑
摘要: 题目描述 A 国有 n 个城市从 1 到 n 编号,在城市间有 m 条单向航线。 A 国首都位于编号为 w 的城市,现在 A 国政府希望在首都召开会 议,就想要让各地人民都能够通过若干条航线到达首都,那么至少需 要新建多少条航线?(可能有重边和自环) 输入输出格式 输入格式: 第一行三个整数 n,m 阅读全文
posted @ 2019-07-23 22:35 fanhao110 阅读(378) 评论(0) 推荐(0) 编辑
摘要: 有依赖背包 #include<iostream> #include<algorithm> #include<cstring> using namespace std; const int maxn=55; const int maxv=100005; int tmp[maxv]; int f[max 阅读全文
posted @ 2019-07-22 21:18 fanhao110 阅读(180) 评论(0) 推荐(0) 编辑
摘要: 题目描述 在一个地图上有N个地窖(N<=200),每个地窖中埋有一定数量的地雷。同时,给出地窖之间的连接路径,并规定路径都是单向的,也不存在可以从一个地窖出发经过若干地窖后又回到原来地窖的路径。某人可以从任一处开始挖地雷,然后沿着指出的连接往下挖(仅能选择一条路径),当无连接时挖地雷工作结束。设计一 阅读全文
posted @ 2019-07-17 21:12 fanhao110 阅读(776) 评论(0) 推荐(0) 编辑
摘要: 用1~9组成 B k=A—— C 九个数字必须全用 #include<cstdio> using namespace std; int n;bool shuchu=0; bool cha(int i,int j) { bool ji[11]={0}; if(i>=10&&i/10!=i%10&&i/ 阅读全文
posted @ 2019-07-16 20:32 fanhao110 阅读(230) 评论(0) 推荐(0) 编辑
摘要: 题目描述 对于一个给定正整数的集合s={x1,x2,x3…xn}和正整数c,编程计算s的第一个子集s1,使得子集s1的和等于c。 输入 第一行有2个正整数n和c第二行有n个正整数 n<7000,c<maxlongint 输出 一行数据,按输入的顺序输出,若无解则输出"No Solution!" 样例 阅读全文
posted @ 2019-07-15 21:57 fanhao110 阅读(1185) 评论(0) 推荐(0) 编辑
摘要: 题目描述 设有n个选手进行循环比赛,其中n = 2m,要求每名选手要与其他n - 1名选手都赛一次,每名选手每天比赛一次,循环赛共进行n - 1天,要求每天没有选手轮空。 输入 一行,包含一个正整数m。 输出 表格形式的比赛安排表(n行n列),每个选手的编号占三个字符宽度,右对齐。 样例输入 样例输 阅读全文
posted @ 2019-07-15 21:34 fanhao110 阅读(1032) 评论(0) 推荐(0) 编辑
摘要: 小渊和小轩是好朋友也是同班同学,他们在一起总有谈不完的话题。一次素质拓展活动中,班上同学安排做成一个mm行nn列的矩阵,而小渊和小轩被安排在矩阵对角线的两端,因此,他们就无法直接交谈了。幸运的是,他们可以通过传纸条来进行交流。纸条要经由许多同学传到对方手里,小渊坐在矩阵的左上角,坐标(1,1(1,1 阅读全文
posted @ 2019-07-11 22:14 fanhao110 阅读(240) 评论(1) 推荐(0) 编辑
摘要: 题目描述 总公司拥有高效设备M台, 准备分给下属的N个分公司。各分公司若获得这些设备,可以为国家提供一定的盈利。问:如何分配这M台设备才能使国家得到的盈利最大?求出最大盈利值。其中M <= 15,N <= 10。分配原则:每个公司有权获得任意数目的设备,但总台数不超过设备数M。 输入 第1行有两个数 阅读全文
posted @ 2019-07-11 22:11 fanhao110 阅读(323) 评论(0) 推荐(0) 编辑
摘要: 我竟然没没想到分组背包怎么写!!! a[i][k]记录第i组第k个在输入时的编号 for(int i=0;i<组数;i++) { for(int j=背包大小;j>=0;j--) { for(int k=0;k<本组个数;k++) { int ji=a[i][k]; if(zhong[ji]>=j) 阅读全文
posted @ 2019-07-11 22:09 fanhao110 阅读(181) 评论(0) 推荐(0) 编辑