51Nod
东瓜Lee
这个作者很懒,什么都没留下…
展开
-
51Nod 1912 咖啡馆 c/c++题解
题目描述Noder咖啡馆里面有N个座位,每天会有若干个顾客来店里面消费,会得到相应的服务。一个顾客占一个位置,顾客离开之后位置就会空出来。如果顾客来了之后没有位置,那么顾客就会直接离开,也就得不到服务。现在已知座位数N,以及一天之内顾客来走的顺序,请统计一下有多少顾客没有得到服务。输入单组测试数据。第一行有一个整数N(1<=N<= 20 )。第二行有若干个大写字母,表示顾...原创 2019-10-20 20:52:18 · 1118 阅读 · 0 评论 -
51Nod 2146 分割绳子 c/c++题解
题目描述现在有N(1 <= N <= 1000)条绳子,他们的长度分别为L1,L2,……,Ln(1 <= Li <= 10000),如果从他们中切割出K(1 <= K <= 1000)条长度相同的绳子,这K条绳子每条最长能多长?输入共有两行,第一行包含两个正整数N和K,用一个空格分割;第二行包含N个数,一次表示N条绳子的长度,两数间用一个空格分隔,每...原创 2019-10-15 21:14:00 · 1355 阅读 · 0 评论 -
51Nod 1928 素数系统 c/c++题解
题目描述题解:这虽说不是一道难题,但是我也做了蛮久的。。。思路:输入的k,k对p和m,的目的就是为了求出n,然后得出n-1是多少。已知了n-1(假设为n_1),开始对n_1分解质因数(比如9会分出两个3),记录下分解出的每个质因数的值及其出现的次数(用一个结构体来记录),然后对结构体排序(按照质因数的从大到小排序)。然后输出结构体的信息:质因数的值(对应到素数系统的p),出现...原创 2019-10-15 20:59:56 · 448 阅读 · 0 评论 -
51Nod 2142 第m大的身份证号码 c/c++题解
题目描述身份证号是我国公民的唯一识别码,它由 18 位数字或者字母组成(只可能最后一位是字母)。18 位身份证号码的含义如下:第 1~2 为省、自治区、直辖市代码:第 3~4 位为地级市、盟、自治州代码;第 5~6 位为县、县级市、区代码。第 7~14 位位出生年月日,比如 19970401 代表 1997 年 4 月 1 日;第 15~16 位为顺序号,第 17 位代表性别,男为单数,女为双...原创 2019-10-06 20:44:03 · 1674 阅读 · 0 评论 -
51Nod 2443 分成两组 c/c++题解
题目描述给出n个数,把这n个数分成2组,让2组之和的差值尽量小,求这个最小的差。例如:3个数2 2 3,我们将两个2分为一组,1个3单独一组,两组和的差值为1。输入第一行:1个数n,表示数字的数量(n <= 20)后面n行:每行1个数a[i](0 <= a[i] <= 1000000000)。输出输出一个数,对应最小的差值输入样例3223输出样例1...原创 2019-10-04 20:08:16 · 2788 阅读 · 0 评论 -
51Nod 1882 选领导 c/c++题解
题目描述现在Noder的公司有n个员工,现在要选一个人来当领导。选领导的规则是名字中含有不同字母最多的人可以当选。如果有多个包含不同字母最多的名字,就选择字典序最小的。比如现在公司有2个人,名字分别为PEEPCD,FKFX XVAE LFN。PEEPCD中含P,E,C,D四个不同的字母。FKFX XVAE LFN中含有F,K,X,V,A,E,L,N八个不同的字母,所以FKFX XVAE LF...原创 2019-09-29 21:03:27 · 491 阅读 · 0 评论 -
51Nod 1927 动车调头 c/c++题解
题目描述在动车站中,动车到达终点之后需要调头,这个时候需要利用调头车道来调头。如上图,列车从A方向进去,然后从B方向出来,就调头了。现在有N辆动车,依次编号1到N,按照编号从小到大从A方向进去,然后从B方向出来。会有人统计从B方向出来的车辆编号顺序。但是可能工作人员会统计错误,所以现在请帮忙检查一下工作人员是否统计错误。即给定一个出站的编号序列,判断一下这种情况有没有可能发生。输入多...原创 2019-09-27 19:37:49 · 706 阅读 · 0 评论 -
CCP-CSP认证考试 201703-4 地铁修建 c/c++题解
CCF-CSP认证考试题解目录By东瓜lqd题目描述:试题编号: 201703-4试题名称: 地铁修建时间限制: 1.0s内存限制: 256.0MB问题描述: 问题描述 A市有n个交通枢纽,其中1号和n号非常重要,为了加强运输能力,A市决定在1号到n号枢纽间修建一条地铁。 地铁由很多段隧道组成,每段隧道连接两个交通枢纽。经过勘探,有m段隧道作为候选,两个交通枢纽之间最多只有...原创 2019-09-25 15:48:45 · 779 阅读 · 0 评论 -
51Nod 1590 合并数字 c/c++题解
题目描述1-n,共n个数字,初始时每个数都是独立的算作1个串,之后会进行n-1次合并,每次合并操作,会把一个串放到另一个串的后面。合并时会给出2个数字,x y,表示将以y为开头的串放到x为开头的串的后面。例如:1 3 (3放到1后面,=> (1 3), 2, 4 )2 4 (4放到2后面,=> (1 3), (2 4))1 2 (2放到1后面,=> (1 3 2 4)...原创 2019-09-24 19:42:12 · 1406 阅读 · 0 评论 -
51Nod 2455 花园 c/c++题解
题目描述花园中有一排五颜六色的花,顺次编号为1…n,编号为i的花的颜色为ci,同时每一朵花有一个美丽值,美丽值越大那么这朵花就越漂亮,其中编号为i的花的美丽值为bi。现在花园的主人提出m个问题,如果你都能回答上来,这些花就全部送给你。这m个问题均以c,k的形式给出,意思是主人想知道颜色为c的那些花中美丽值第k大的编号为多少(1…n中的一个数)。花园主人向你保证:不存在两朵颜色和美丽值都完全相...原创 2019-09-24 19:32:44 · 1342 阅读 · 0 评论 -
51Nod 2075 图书管理员 c/c++题解
题目描述图书馆中每本书都有一个图书编码,可以用于快速检索图书,这个图书编码是一个正整数。每位借书的读者手中有一个需求码,这个需求码也是一个正整数。如果一本书的图书编码恰好以读者的需求码结尾,那么这本书就是这位读者所需要的。 小 D 刚刚当上图书馆的管理员,她知道图书馆里所有书的图书编码,她请你帮她写一个程序,对于每一位读者,求出他所需要的书中图书编码最小的那本书,如果没有他需要的书,请输出-1...原创 2019-09-24 19:26:46 · 1651 阅读 · 0 评论 -
51Nod 2068 堆牌问题 c/c++题解
题目描述桌上有一叠牌,从顶面的牌开始往底面依次编号为 1~n。当至少还剩两张牌时进行以下操作:把第一张扔掉,然后把新的第一张放到整叠牌的最后。输入输入一个正整数 n,2<=n≤1000000,表示起始时牌的张数输出输出一行,按顺序输出每次扔掉的牌的编号,最后输出最后剩下的牌的编号,两个数之间用一个空格隔开。输入样例7输出样例1 3 5 7 4 2 6代码:#incl...原创 2019-09-23 20:56:02 · 1266 阅读 · 0 评论 -
51Nod 2641 小Z家的门牌号 c/c++题解
题目描述小Z家住在一条短胡同里,这条胡同的门牌号从1开始顺序编号。若其余各家的门牌号之和减去小Z家门牌号的两倍,恰好等于n,求小Z家的门牌号及总共有多少家。(有多解的情况下输出总家庭数最少的方案,题目肯定有解)输入一个正整数T(10<=T<=1000),表示一共有T组询问接下来T行,每行一个整数n(0<n<100000)输出输出一共T行,每行两个整数a b(...原创 2019-09-20 20:44:29 · 1747 阅读 · 0 评论 -
51Nod 2642 质数的和与积 c/c++题解
题目描述两个质数的和是S,他们的积最大是多少?输入一个不大于10000的正整数S,为两个质数的和。输出一个整数,为两个质数的最大乘积。数据保证有解。输入样例21输出样例38题解:求出≥s的第一个素数,把前面的素数都放入一个数组,然后开一个O(n2)的枚举即可。代码:#include <iostream>#include <cstdio>...原创 2019-09-20 20:39:40 · 2002 阅读 · 0 评论 -
51Nod 2640 机器翻译 c/c++题解
题目描述小晨的电脑上安装了一个机器翻译软件,他经常用这个软件来翻译英语文章。这个翻译软件的原理很简单,它只是从头到尾,依次将每个英文单词用对应的中文含义来替换。对于每个英文单词,软件会先在内存中查找这个单词的中文含义,如果内存中有,软件就会用它进行翻译;如果内存中没有,软件就会在外存中的词典内查找,查出单词的中文含义然后翻译,并将这个单词和译义放入内存,以备后续的查找和翻译。假设内存中有M...原创 2019-09-20 20:36:35 · 659 阅读 · 1 评论 -
51Nod 2643 基因相关性 c/c++题解
题目描述小Z是一个生物研究员,现在在研究基因序列在功能和结构上的相似性,经常需要将几条不同序列的DNA进行比对,以判断该对DNA是否具有相关性。现对比两条长度相同的DNA序列,有以下规则:①定义两条DNA序列相同位置的碱基为一个碱基对,如果一个碱基对中的两个碱基相同的话,则称为相同碱基对。②计算相同碱基对占总碱基对数量的比例,如果该比例大于等于给定阈值时则判定该两条DNA序列是相关的,否...原创 2019-09-20 20:31:44 · 961 阅读 · 0 评论 -
51Nod 2107 二个奇数次 c/c++题解
题目描述输入一个长度为n的数组,考虑所有不同的数字,有且只有2个数字出现了奇数次。比如对于1 2 3 1 2 3 1 2,我们考虑所有不同的数字1 2 3,有且只有1,2出现了奇数次(均为3次)输出这两个出现了奇数次的数字。先输出这两个数字中较小的,再输出较大的。1 <= n <= 1000001 <= a[i] <= 10^9输入第一行一个整数n,接下...原创 2019-09-17 20:46:06 · 890 阅读 · 0 评论 -
51Nod 2072 装箱问题 c/c++题解
题目描述有一个箱子容量为 V(正整数,0<=V<=20000),同时有 n 个物品(0<n<=30),每个物品有一个体积(正整数)。现在在 n 个物品中,任取若干个装入箱内,使得箱子的剩余空间为最小。输入输入:一个整数v,表示箱子容量一个整数n,表示有n个物品接下来 n 个整数,分别表示这 n 个物品的各自体积输出输出:一个整数,表示箱子最小的剩余空间输入样例...原创 2019-09-17 20:32:28 · 862 阅读 · 0 评论 -
CCP-CSP认证考试 201512-2 消除类游戏 c/c++题解
题目描述试题编号: 201512-2试题名称: 消除类游戏时间限制: 1.0s内存限制: 256.0MB问题描述: 问题描述 消除类游戏是深受大众欢迎的一种游戏,游戏在一个包含有n行m列的游戏棋盘上进行,棋盘的每一行每一列的方格上放着一个有颜色的棋子,当一行或一列上有连续三个或更多的相同颜色的棋子时,这些棋子都被消除。当有多处可以被消除时,这些地方的棋子将同时被消除。 现在给...原创 2019-09-04 19:49:17 · 343 阅读 · 0 评论 -
CCP-CSP认证考试 201512-1 数位之和 c/c++题解
题目描述代码:#include <iostream>#include <cstdio>#include <cstdlib>#include <cmath>#include <climits>#include <cstring>#include <string>#include <alg...原创 2019-09-04 19:43:47 · 204 阅读 · 0 评论 -
51Nod 2582 最短区间 c/c++题解
题目描述现在给定一个整数s以及一个长度为n的整数数列a[0],a[1],a[2],a[3]…a[n-1] (全为正数),请你求出总和不小于s的连续子序列的长度的最小值。如果解不存在,则输出0。输入第一行:两个整数,表示 s 与 n,其中1≤s≤10^9,1≤n≤500000;第二行:n个用空格隔开的整数,表示 a[0] a[1] … a[n-1],其中对于任意a[i]有1≤a[i]≤...原创 2019-08-30 10:19:55 · 961 阅读 · 1 评论 -
51Nod 2152 数字组合 c/c++题解
题目描述现在小瓜有1到n这n个整数,他想知道用这n个整数组成一个长度为n的数字序列的所有方法(每个整数可以重复使用)。你能帮助他吗?输入一行一个整数n(1<=n<=6)。输出若干行,每行表示用1到n组成一个长度为n的数字序列的一种方法。所有方法按字典许输出。输入样例2输出样例1 11 22 12 2题解:直接用dfs枚举出所有的情况即可,看代码。代...原创 2019-08-29 22:53:29 · 1279 阅读 · 0 评论 -
51Nod 2141 第N个智慧数 c/c++题解
题目描述一个正整数如果能表示成两个正整数的平方差,则称这个数为一个“智慧数”,比如 16 就等于 5的平方减去 3 的平方,所以 16 就是一个智慧数,从 1 开始的自然数列中,将“智慧数”从小到大编号为 1,2,3,…,n。现输入一个正整数 n,输出第 n 个“智慧数”。输入输入仅包含一个正整数 n(1≤n≤100)。输出输出仅包含一个正整数,表示编号为 n 的“智慧数”。输入样例...原创 2019-08-29 22:41:24 · 2766 阅读 · 0 评论 -
51Nod 1922 乘法 c/c++题解
题目描述给出三个整数a,b,c,请找出最小的进制K(2<=K<=16)使得a*b=c在K进制下成立。比如a=11,b=10,c=110。那么当K=2的时候 (11)2 ∗ (10)2 = (110)2 成立,当K=10的时候 (11)10 ∗ (10)10 = (110)10 也成立。输入单组测试数据。输入三个整数a,b,c(1<=a,b,c<=1,000,00...原创 2019-08-29 15:19:34 · 467 阅读 · 0 评论 -
51Nod 1917 吃葡萄 c/c++题解
题目描述在房间中G颗葡萄,现在有n个人。这n个人依次进入房间吃葡萄。每个人进去的时候都做如下操作,把葡萄分成n等份,发现还多出一颗,然后吃掉这一颗以及n等份中的一份,然后走出房间。这n个人吃完之后,最后房间里面的葡萄刚好可以分成n等分。问n最大是多少?输入多组测试数据。第一行输入一个整数T(1<=T<=200),表示测试数据的数目。接下来T行,每一行一个整数G(1<=...原创 2019-08-29 15:11:26 · 917 阅读 · 0 评论 -
51Nod 2063 二分查找 c/c++题解
题目描述输入一个整数n和n个整数,保证这n个整数已经按照从小到大进行排序。然后输入一个整数q(q <= 100000)代表q次查询。接下来q行,每行含有一个整数m,代表一次查询。对于每次查询,使用二分查找判断m是否在之前输入的n个整数中出现过。如果出现,输出一行"Yes",否则输出"No"。输入第一行:一个整数n(n <= 100000)。接下来n行,每行一个整数ai(1 ...原创 2019-08-27 16:25:17 · 984 阅读 · 0 评论 -
51Nod 2592 修井 c/c++题解
题目描述一条笔直的公路沿线有N家住户,由于常年用水不便,现在地方政府决定出资修一口水井解决这个难题。工作人员将公路的某点设为0点,这样N家住户分别位于A[1]~A[n]点处。请你帮助他们找到适当的修井位置,使得各家到井的距离之和最短,并求出这个最短距离。输入第一行输出住户数N,其中2≤N≤10000;第2~N+1行共N个数,表示住户位置A[i],其中-109≤A[i]≤109输出输...原创 2019-08-27 16:19:14 · 610 阅读 · 1 评论 -
51Nod 2506 最长高地 c/c++题解
题目描述小b有一个长度为n的数组A。小b认为,如果A的一个区间[l,r]满足r-l>=2,且存在l<p<r使得A[l]<A[l+1]<… <A[p]>A[p+1]>…>A[r],则[l,r]为一个高地。求A中的最长高地的长度。输入第一行输入一个非负整数n,表示A数组长度;第二行输入n个数,表示A数组的元素,以空格隔开;其中0≤n...原创 2019-08-27 16:14:24 · 365 阅读 · 0 评论 -
51Nod 2128 前缀异或 c/c++题解
题目描述输入一个长度为n(1 <= n <= 100000)数组a[1], a[2], …, a[n]。输入一个询问数m(1 <= m <= 100000)和m组询问,每组询问形如(l, r)对于每组询问(l, r),你需要输出a[l] xor a[l + 1] xor … xor a[r - 1] xor a[r],即第l个数字到第r个数字的异或。如果你的算法需...原创 2019-08-27 16:03:14 · 582 阅读 · 0 评论 -
51Nod 2106 一个奇数次 c/c++题解
题目描述输入一个长度为n的数组,考虑所有不同的数字,有且只有一个数字出现了奇数次。比如对于1 2 3 1 2 3 1,我们考虑所有不同的数字1 2 3,有且只有1出现了奇数次(3次)输出这个出现了奇数次的数字。1 <= n <= 1000001 <= a[i] <= 10^9输入第一行一个整数n,接下来一行n个整数,表示输入的数字。输出一行一个数字,表...原创 2019-08-26 22:43:16 · 839 阅读 · 0 评论 -
51Nod 1874 字符串排序 c/c++题解
题目描述定义一个字符串的无序度为所有位置后面的字母比该位置的字母小的总数之和。比如"DAABEC’'这个字符串的无序度是5,因为D后面有4个位置比它小(AABC),E后面有1个比它小(C),其它位置后面没有比自己小的。" AACEDGG “的无序度为1(E后面有一个D比它小)。” ZWQM "的无序度为6,每个位置后面所有的字母都比它小。现在你的任务是给定一些字符串(只由大写字母组成),把他...原创 2019-08-26 20:48:55 · 1141 阅读 · 0 评论 -
51Nod 1278 相离的圆 c/c++题解
题目描述平面上有N个圆,他们的圆心都在X轴上,给出所有圆的圆心和半径,求有多少对圆是相离的。例如:4个圆分别位于1, 2, 3, 4的位置,半径分别为1, 1, 2, 1,那么{1, 2}, {1, 3} {2, 3} {2, 4} {3, 4}这5对都有交点,只有{1, 4}是相离的。输入第1行:一个数N,表示圆的数量(1 <= N <= 50000)第2 - N + 1...原创 2019-08-25 16:30:21 · 377 阅读 · 0 评论 -
51Nod 2452 最小约数 c/c++题解
题目描述给出1个数n,统计2到n这n-1个数,除1以外最小的约数是多少。例如:n = 6,2到6这5个数,除了1之外最小约数为2的包括:2 4 6除了1之外最小约数为3的包括:3。除了1之外最小约数为4的没有。除了1之外最小约数为5的包括:5。除了1之外最小约数为6的没有。因此,按照数量逐个输出:31010输入输入1个数n(n < 10000)输出输出n-...原创 2019-08-18 10:16:01 · 1106 阅读 · 0 评论 -
51Nod 2282 树的深度 c/c++题解
题目描述给出一棵n个节点的树,节点编号为1-n(根节点编号为1,且根节点深度为1),求这棵树的深度(树中节点的最大层次)。例如:1─2─4─5└─3其中1-2-4-5这条边是最长的,所以树的深度为4。输入第一行:1个数n(1 < n <= 1000),表示树的节点数量。后面n-1行:每行2个数x y,表示节点x是节点y的父节点(1 <= x, y <= n...原创 2019-08-18 10:13:33 · 2774 阅读 · 0 评论 -
51Nod 1092 回文字符串 c/c++题解
题目描述回文串是指aba、abba、cccbccc、aaaa这种左右对称的字符串。每个字符串都可以通过向中间添加一些字符,使之变为回文字符串。例如:abbc 添加2个字符可以变为 acbbca,也可以添加3个变为 abbcbba。方案1只需要添加2个字符,是所有方案中添加字符数量最少的。输入输入一个字符串Str,Str的长度 <= 1000。输出输出最少添加多少个字符可以使之变...原创 2019-08-16 15:48:35 · 357 阅读 · 0 评论 -
51Nod 2518 和为S c/c++题解
题目描述小b有一个01序列A,她想知道A有多少个非空连续子序列和为S。你能帮帮她吗?输入第一行输入一个数n,表示A的长度;第二行输入n个数‘0’或‘1’,表示A中的元素,以空格隔开;第三行输入一个非负整数S;其中0≤S≤n≤30000。输出输出一个数,表示子数组的个数输入样例51 0 1 0 12输出样例4代码:#include <iostream>...原创 2019-08-15 10:51:42 · 228 阅读 · 0 评论 -
51Nod 2069 牛奶 c/c++题解
题目描述农民约翰有三个容量分别是 A,B,C 升的桶,A,B,C 分别是三个从1到20的整数。最初,A 和 B 桶都是空的,而 C 桶是装满牛奶的。有时,农民把牛奶从一个桶倒到另一个桶中,直到被灌的桶装满或原桶空了。灌注的过程中牛奶不会洒出来。找出当 A 桶是空的时候,C 桶中牛奶所剩量的所有可能性。输入输入一行三个数 A、B 和 C。输出输出一行数,数之间用空格隔开,升序地列出当...原创 2019-08-15 10:48:29 · 2370 阅读 · 0 评论 -
51Nod 2654 最小距离最大 c/c++ 题解
题目描述给出n个位置,从中选出k个,让这k个位置相邻两个之间的距离尽可能的大,尽可能大的意思是这k-1个距离的最小值尽量大。输出这个最大的最小值。样例解释:选位置:1 5 9。输入第一行:2个数n和k(2 <= n <= 100000, 2 <= k <= 10000, k <= n)后面n行:每行一个数Pi,表示具体位置(0 <= Pi <=...原创 2019-08-09 15:59:43 · 1801 阅读 · 0 评论 -
51Nod 2178 ProjectEuler 10 c/c++题解
题目描述所有小于10的质数的和是2 + 3 + 5 + 7 = 17。输入n,求所有小于等于n的质数之和。输入输入第一行组数T,接下来T行,每行一个整数n。(1 <= T <= 10)(1 <= N <= 2000000)输出对于每组数据,输出一个数,表示所有小于等于n的质数之和。输入样例35102000000输出样例101714291...原创 2019-08-08 22:44:21 · 339 阅读 · 0 评论 -
51Nod 2164 ProjectEuler 9 c/c++题解
题目描述勾股数是满足a < b < c,且 a2+b2=c2 的三元组(a, b, c)。输入n,计算是否存在勾股数(a, b, c)满足a + b + c = n。如果有多组,求所有满足条件的勾股数(a, b, c)中,abc的最大值。输入保证有解。输入输入第一行组数T,接下来T行,每行一个整数n。(1 <= T <= 190)(1 <= N &l...原创 2019-08-08 22:44:04 · 329 阅读 · 0 评论
分享