算法与数据结构(c/c++)
惊醒幡然1
这个作者很懒,什么都没留下…
展开
-
百鸡问题
题目描述:用小于等于n元去买100只鸡,大鸡5元/只,小鸡3元/只,还有1/3元每只的一种小鸡,分别记为x只,y只,z只。编程求解x,y,z所有可能解。输入描述:测试数据有多组,输入n。输出描述:对于每组输入,请输出x,y,z所有可行解,按照x,y,z依次增大的顺序输出。输入:40输出:x=0,y=0,z=100x=0,y=1,z=99x=0,y=2,z=98x=1,y=...原创 2019-03-08 18:22:33 · 1088 阅读 · 0 评论 -
拓扑排序-判定是否为有向无环图
拓扑排序-判定是否为有向无环图#include<stdio.h>#include<queue>#include<vector>using namespace std;vector<int> edge[501];//邻接链表,因为边不存在权值,只需保存与其邻接的节原创 2019-03-07 21:15:26 · 626 阅读 · 0 评论 -
北邮OJ虚数
虚数利用大根堆题目描述一个复数(x+iy)集合,两种操作作用在该集合上: 1、Pop 表示读出集合中复数模值最大的那个复数,如集合为空 输出 empty ,不为空就输出最大的那个复数并且从集合中删除那个复数,再输出集合的大小SIZE; 2 Insert a+ib 指令(a,b表示实部和虚部),将a+ib加入到集合中 ,输出集合的大小SIZE; 最开始要读入一个i...原创 2019-03-16 17:33:44 · 299 阅读 · 0 评论 -
北邮OJ打牌
打牌题目描述牌只有1到9,手里拿着已经排好序的牌a,对方出牌b,用程序判断手中牌是否能够压过对方出牌。 规则:出牌牌型有5种 [1]一张 如4 则5...9可压过 [2]两张 如44 则55,66,77,...,99可压过 [3]三张 如444 规则如[2] [4]四张 如4444 规则如[2] [5]五张 牌型只有12345 23456 34...原创 2019-03-16 11:24:05 · 272 阅读 · 0 评论 -
北邮OJ树查找
北邮OJ树查找题目描述有一棵树,输出某一深度的所有节点,有则输出这些节点,无则输出EMPTY。该树是完全二叉树。输入描述:输入有多组数据。每组输入一个n(1<=n<=1000),然后将树中的这n个节点依次输入,再输入一个d代表深度。输出描述:输出该树中第d层得所有节点,节点间用空格隔开,最后一个节点后没有空格。示例1输入41 2 3 42输出2 3#inc...原创 2019-03-16 11:11:25 · 244 阅读 · 0 评论 -
约数的个数
约数的个数#include<iostream>#include<vector>#include<algorithm>#include<string>#include<sstream>using namespace std;int calMax(int x){ int result=0; int i=1; for(i=1...原创 2019-03-20 12:10:07 · 211 阅读 · 0 评论 -
求最短路径
Floyd求最短路径`#include&lt;stdio.h&gt;int ans[101][101];int main(){ int i,j,k,n,m; while(scanf("%d%d",&amp;n,&amp;m)!=EOF){ if(n==0&amp;&amp;m==0) break; for(i=1;i&lt;=n;i++){原创 2019-03-08 09:03:26 · 202 阅读 · 0 评论 -
递归的那些事
斐波那契数列#include<stdio.h>int fi(int n){ if(n==1||n==2) return 1; else return fi(n-1)+fi(n-2); //递推式}int main(){ int n; while(scanf("%d",&n)!=EOF){ printf("%d\n",fi(n)); } return 0...原创 2019-03-10 21:56:41 · 221 阅读 · 0 评论 -
素数环
素数环题目:给定1到n的数字中,将数字依次填入环中,使得任意相邻的数字之和为素数。要求第一个数为1,输入的数n为1<n<17#include<stdio.h>using namespace std;int ans[22]; //保存环中的每一个被放入的数bool hash[22]; int n;//判断一个数是否为素数,输入不大于16,故两数之和必在该数...原创 2019-03-10 12:32:56 · 556 阅读 · 0 评论 -
汉诺塔
汉诺塔改编#include<stdio.h>long long F(int num){ //递归函数,返回值较大时使用long long类型 if(num==1) return 2; else return 3*F(num-1)+2; }int main(){ int n; while(scanf("%d",&n)!=EOF){ printf("%l...原创 2019-03-10 12:14:12 · 131 阅读 · 0 评论 -
2018北邮网研机试
2018北邮网研机试problemA:题目:类似超市结账,计算购买的商品的总价格。输入:第一行为测试数据组数 T(0< T <= 10) 每组数据第一行为购买商品的种类 n,接下来 n 行,每行两个数据,第一个为商品价格,第 二个为商品数量,价格为实型。输出:每一行输出相对应数据的总价值,保留两位小数。测试数据:221.00 20.50 21100.0...原创 2019-03-25 21:33:29 · 409 阅读 · 0 评论