数据结构
文章平均质量分 80
sunshine_9990
这个作者很懒,什么都没留下…
展开
-
整数拆分
题目描述一个整数总可以拆分为2的幂的和,例如: 7=1+2+4 7=1+2+2+2 7=1+1+1+4 7=1+1+1+2+2 7=1+1+1+1+1+2 7=1+1+1+1+1+1+1 总共有六种不同的拆分方式。 再比如:4可以拆分成:4 = 4,4 = 1 + 1 + 1 + 1,4 = 2 + 2,4=1+1+2。 用f(n)表示n的不同拆分的种数,例如f(7)=6. 要求编写程序,读入n(...原创 2018-06-13 17:31:32 · 269 阅读 · 0 评论 -
质因数个数
题目描述求正整数N(N>1)的质因数的个数。 相同的质因数需要重复计算。如120=2*2*2*3*5,共有5个质因数。输入描述:可能有多组测试数据,每组测试数据的输入是一个正整数N,(1<N<10^9)。输出描述:对于每组数据,输出N的质因数的个数。示例1输入复制120 输出复制5解析:任何一个合数都能被一个比它小的质数整除。所以当我们用小质数去分解这个给定的数时,我们已经把合数...原创 2018-06-13 17:07:18 · 386 阅读 · 0 评论 -
畅通问题(最小生成树)
题目描述 省政府“畅通工程”的目标是使全省任何两个村庄间都可以实现公路交通(但不一定有直接的公路相连,只要能间接通过公路可达即可)。经过调查评估,得到的统计表中列出了有可能建设公路的若干条道路的成本。现请你编写程序,计算出全省畅通需要的最低成本。输入描述: 测试输入包含若干测试用例。每个测试用例的第1行给出评估的道路条数 N、村庄数目M (N, M < =100 );随后的 N ...原创 2018-04-19 19:08:38 · 368 阅读 · 0 评论 -
欧拉回路
题目描述 欧拉回路是指不令笔离开纸面,可画过图中每条边仅一次,且可以回到起点的一条回路。现给定一个图,问是否存在欧拉回路?输入描述: 测试输入包含若干测试用例。每个测试用例的第1行给出两个正整数,分别是节点数N ( 1 < N < 1000 )和边数M;随后的M行对应M条边,每行给出一对正整数,分别是该条边直接连通的两个节点的编号(节点从1到N编号)。当N为0时输入结束。...原创 2018-04-18 19:00:40 · 135 阅读 · 0 评论 -
继续xxx定律
题目描述 当n为3时,我们在验证xxx定律的过程中会得到一个序列,3,5,8,4,2,1,将3称为关键数,5,8,4,2称为覆盖数。现在输入n个数字a[i],根据关键数与覆盖数的理论,我们只需要验证其中部分数就可以确定所有数满足xxx定律,输出输入的n个数中的关键数。如果其中有多个关键数的话按照其输入顺序的逆序输出。输入描述: 输入数据包含多个用例,每个用例首先包含一个整数n,然后接下...原创 2018-04-18 18:18:45 · 112 阅读 · 0 评论 -
Head of a Gang(并查集,多连通图)
题目描述One way that the police finds the head of a gang is to check people's phone calls. If there is a phone call between A and B, we say that A and B is related. The weight of a relation is defined to ...原创 2018-04-18 17:31:37 · 314 阅读 · 0 评论 -
毕业bg(动态规划,0/1背包问题)
题目描述 每年毕业的季节都会有大量毕业生发起狂欢,好朋友们相约吃散伙饭,网络上称为“bg”。参加不同团体的bg会有不同的感觉,我们可以用一个非负整数为每个bg定义一个“快乐度”。现给定一个bg列表,上面列出每个bg的快乐度、持续长度、bg发起人的离校时间,请你安排一系列bg的时间使得自己可以获得最大的快乐度。 例如有4场bg: 第1场快乐度为5,持续1小时,发起人必须在1小时...原创 2018-04-16 20:55:37 · 309 阅读 · 0 评论 -
Graduate Admission
题目描述It is said that in 2013, there were about 100 graduate schools ready to proceed over 40,000 applications in Zhejiang Province. It would help a lot if you could write a program to automate the admi...原创 2018-04-16 16:57:50 · 165 阅读 · 0 评论 -
ZOJ问题
题目描述对给定的字符串(只包含'z','o','j'三种字符),判断他是否能AC。 是否AC的规则如下: 1. zoj能AC; 2. 若字符串形式为xzojx,则也能AC,其中x可以是N个'o' 或者为空; 3. 若azbjc 能AC,则azbojac也能AC,其中a,b,c为N个'o'或者为空;输入描述:输入包含多组测试用例,每行有一个只包含'z','o','j'三种字符的字符串,字符串长度小于...原创 2018-04-14 17:27:40 · 391 阅读 · 0 评论 -
最短路径问题(dijkstra,迪杰斯特拉算法)
题目描述给你n个点,m条无向边,每条边都有长度d和花费p,给你起点s终点t,要求输出起点到终点的最短距离及其花费,如果最短距离有多条路线,则输出花费最少的。输入描述:输入n,m,点的编号是1~n,然后是m行,每行4个数 a,b,d,p,表示a和b之间有一条边,且其长度为d,花费为p。最后一行是两个数 s,t;起点s,终点t。n和m为0时输入结束。 (1<n<=1000, 0<m&...原创 2018-04-14 16:01:16 · 517 阅读 · 1 评论 -
To Fill or Not to Fill(贪心)
题目描述With highways available, driving a car from Hangzhou to any other city is easy. But since the tank capacity of a car is limited, we have to find gas stations on the way from time to time. Differen...原创 2018-04-10 21:07:09 · 133 阅读 · 0 评论 -
连通图
题目描述 给定一个无向图和其中的所有边,判断这个图是否所有顶点都是连通的。输入描述: 每组数据的第一行是两个整数 n 和 m(0<=n<=1000)。n 表示图的顶点数目,m 表示图中边的数目。随后有 m 行数据,每行有两个值 x 和 y(0<x, y <=n),表示顶点 x 和 y 相连,顶点的编号从 1 开始计算。输入不保证这些边是否重复。输出描述: ...原创 2018-04-06 20:44:30 · 986 阅读 · 0 评论 -
字符串匹配(字符串变为大写或小写)
字符串变为大写或小写#include<stdio.h> #include<string.h> int main(){ char a[]={'a','B','c','!','\0'}; strupr(a); //字符串变为大写,“ABC!” printf("%s\n",a); strlwr(a); printf("%s\n",a);/...原创 2018-04-04 18:20:41 · 566 阅读 · 0 评论 -
二叉排序树(每插入一个节点,输出其父节点)
题目描述二叉排序树,也称为二叉查找树。可以是一颗空树,也可以是一颗具有如下特性的非空二叉树: 1. 若左子树非空,则左子树上所有节点关键字值均不大于根节点的关键字值; 2. 若右子树非空,则右子树上所有节点关键字值均不小于根节点的关键字值; 3. 左、右子树本身也是一颗二叉排序树。 现在给你N个关键字值各不相同的节点,要求你按顺序插入一个初始为空树的二叉排序树中,每次插入后成功后,求相应的父亲节点...原创 2018-03-31 16:02:19 · 1010 阅读 · 0 评论 -
二叉树遍历(根据前序、中序遍历,得到后序遍历)
题目描述二叉树的前序、中序、后序遍历的定义: 前序遍历:对任一子树,先访问跟,然后遍历其左子树,最后遍历其右子树; 中序遍历:对任一子树,先遍历其左子树,然后访问根,最后遍历其右子树; 后序遍历:对任一子树,先遍历其左子树,然后遍历其右子树,最后访问根。 给定一棵二叉树的前序遍历和中序遍历,求其后序遍历(提示:给定前序遍历与中序遍历能够唯一确定后序遍历)。输入描述:两个字符串,其长度n均小于等于2...原创 2018-03-31 10:00:30 · 567 阅读 · 0 评论 -
奇偶校验
题目描述输入一个字符串,然后对每个字符进行奇校验,最后输出校验后的二进制数(如'3’,输出:10110011)。输入描述:输入包括一个字符串,字符串长度不超过100。输出描述:可能有多组测试数据,对于每组数据, 对于字符串中的每一个字符,输出按题目进行奇偶校验后的数,每个字符校验的结果占一行。示例1输入3 3a 输出10110011 10110011 01100001题目分析:将每一个字符转化成整...原创 2018-03-30 20:34:20 · 1511 阅读 · 0 评论 -
String Matching(模式匹配)
题目描述 Finding all occurrences of a pattern in a text is a problem that arises frequently in text-editing programs. Typically,the text is a document being edited,and the pattern searched for is a...原创 2018-05-13 20:01:20 · 1460 阅读 · 0 评论 -
二叉树
题目描述编一个程序,读入用户输入的一串先序遍历字符串,根据此字符串建立一个二叉树(以指针方式存储)。 例如如下的先序遍历字符串: ABC##DE#G##F### 其中“#”表示的是空格,空格字符代表空树。建立起此二叉树以后,再对二叉树进行中序遍历,输出遍历结果。输入描述:输入包括1行字符串,长度不超过100。输出描述:可能有多组测试数据,对于每组数据, 输出将输入字符串建立二叉树后中序遍历的序列,...原创 2018-06-13 18:50:51 · 210 阅读 · 0 评论 -
玛雅人的密码(利用bfs)
题目描述玛雅人有一种密码,如果字符串中出现连续的2012四个数字就能解开密码。给一个长度为N的字符串,(2=<N<=13)该字符串中只含有0,1,2三种数字,问这个字符串要移位几次才能解开密码,每次只能移动相邻的两个数字。例如02120经过一次移位,可以得到20120,01220,02210,02102,其中20120符合要求,因此输出为1.如果无论移位多少次都解不开密码,输出-1。输...原创 2018-06-14 20:25:59 · 687 阅读 · 1 评论 -
代理服务器
题目描述 使用代理服务器能够在一定程度上隐藏客户端信息,从而保护用户在互联网上的隐私。我们知道n个代理服务器的IP地址,现在要用它们去访问m个服务器。这 m 个服务器的 IP 地址和访问顺序也已经给出。系统在同一时刻只能使用一个代理服务器,并要求不能用代理服务器去访问和它 IP地址相同的服务器(不然客户端信息很有可能就会被泄露)。在这样的条件下,找到一种使用代理服务器的方案,使得代理服务器切...原创 2018-06-09 20:25:41 · 182 阅读 · 0 评论 -
二叉搜索树(建立及其遍历等)
题目描述判断两序列是否为同一二叉搜索树序列输入描述:开始一个数n,(1<=n<=20) 表示有n个需要判断,n= 0 的时候输入结束。 接下去一行是一个序列,序列长度小于10,包含(0~9)的数字,没有重复数字,根据这个序列可以构造出一颗二叉搜索树。 接下去的n行有n个序列,每个序列格式跟第一个序列一样,请判断这两个序列是否能组成同一颗二叉搜索树。输出描述:如果序列相同则输出YES,否...原创 2018-05-03 10:00:06 · 1259 阅读 · 0 评论