自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(59)
  • 收藏
  • 关注

原创 9273:PKU2506Tiling

描述对于一个2行N列的走道。现在用1*2,2*2的砖去铺满。问有多少种不同的方式。下图是一个2行17列的走道的某种铺法。输入整个测试有多组数据,请做到文件底结束。每行给出一个数字N,0 <= n <= 250输出如题样例输入2812100200样例输出317127318451004001521529343311354702511071292029505993517027...

2018-03-08 18:12:26 1497 1

原创 8758:2的幂次方表示

描述任何一个正整数都可以用2的幂次方表示。例如:    137=27+23+20同时约定方次用括号来表示,即ab可表示为a(b)。由此可知,137可表示为:    2(7)+2(3)+2(0)进一步:7=22+2+20(21用2表示)        3=2+20所以最后137可表示为:    2(2(2)+2+2(0))+2(2+2(0))+2(0)又如:    1315=210+28+25+2+...

2018-03-08 17:30:00 934

原创 7592:求最大公约数问题

描述给定两个正整数,求它们的最大公约数。输入输入一行,包含两个正整数(<1,000,000,000)。输出输出一个正整数,即这两个正整数的最大公约数。#include <bits/stdc++.h>using namespace std;int gcd(int x,int y){return x%y==0?y:gcd(y,x%y);}int main(){ int ...

2018-03-08 17:15:30 547

原创 666:放苹果

描述把M个同样的苹果放在N个同样的盘子里,允许有的盘子空着不放,问共有多少种不同的分法?(用K表示)5,1,1和1,5,1 是同一种分法。输入第一行是测试数据的数目t(0 <= t <= 20)。以下每行均包含二个整数M和N,以空格分开。1<=M,N<=10。输出对输入的每组数据M和N,用一行输出相应的K。搜索,注意后面盘子的苹果数不小于前面的即可。#include &lt...

2018-03-08 17:10:17 290

原创 6261:汉诺塔问题

描述约19世纪末,在欧州的商店中出售一种智力玩具,在一块铜板上有三根杆,最左边的杆上自上而下、由小到大顺序串着由64个圆盘构成的塔。目的是将最左边杆上的盘全部移到中间的杆上,条件是一次只能移动一个盘,且不允许大盘放在小盘的上面。 这是一个著名的问题,几乎所有的教材上都有这个问题。由于条件是一次只能移动一个盘,且不允许大盘放在小盘上面,所以64个盘的移动次数是:18,446,744,073,709,...

2018-03-08 16:48:12 373

原创 3089:爬楼梯

描述树老师爬楼梯,他可以每次走1级或者2级,输入楼梯的级数,求不同的走法数例如:楼梯一共有3级,他可以每次都走一级,或者第一次走一级,第二次走两级也可以第一次走两级,第二次走一级,一共3种方法。输入输入包含若干行,每行包含一个正整数N,代表楼梯级数,1 <= N <= 30输出不同的走法数,每一行输入对应一行输出思路:设f(n)表示走完n级楼梯的方法数;则有两种可能,第一次走1级,有f...

2018-03-08 16:38:15 909

原创 2705:扩号匹配问题

描述在某个字符串(长度不超过100)中有左括号、右括号和大小写字母;规定(与常见的算数式子一样)任何一个左括号都从内到外与在它右边且距离最近的右括号匹配。写一个程序,找到无法匹配的左括号和右括号,输出原来字符串,并在下一行标出不能匹配的括号。不能匹配的左括号用"$"标注,不能匹配的右括号用"?"标注.输入输入包括多组数据,每组数据一行,包含一个字符串,只包含左右括号和大小写字母,字符串长度不超过1...

2018-03-08 16:24:14 371

原创 1788:Pell数列

描述Pell数列a1, a2, a3, ...的定义是这样的,a1 = 1, a2 = 2, ... , an = 2 * an − 1 + an - 2 (n > 2)。给出一个正整数k,要求Pell数列的第k项模上32767是多少。输入第1行是测试数据的组数n,后面跟着n行输入。每组测试数据占1行,包括一个正整数k (1 ≤ k < 1000000)。输出n行,每行输出对应一个输入...

2018-03-08 16:12:10 966

原创 1777:文件结构“图”

描述在计算机上看到文件系统的结构通常很有用。Microsoft Windows上面的"explorer"程序就是这样的一个例子。但是在有图形界面之前,没有图形化的表示方法的,那时候最好的方式是把目录和文件的结构显示成一个"图"的样子,而且使用缩排的形式来表示目录的结构。比如:ROOT| dir1| file1| file2| file3| dir2...

2018-03-08 15:51:48 815

原创 1755:菲波那契数列

描述菲波那契数列是指这样的数列: 数列的第一个和第二个数都为1,接下来每个数都等于前面2个数之和。给出一个正整数a,要求菲波那契数列中第a个数是多少。输入第1行是测试数据的组数n,后面跟着n行输入。每组测试数据占1行,包括一个正整数a(1 <= a <= 20)输出输出有n行,每行输出对应一个输入。输出应是一个正整数,为菲波那契数列中第a个数的大小1、循环迭代处理#include &l...

2018-03-06 20:12:26 998

原创 1751:分解因数

描述给出一个正整数a,要求分解成若干个正整数的乘积,即a = a1 * a2 * a3 * ... * an,并且1 < a1 <= a2 <= a3 <= ... <= an,问这样的分解的种数有多少。注意到a = a也是一种分解。输入第1行是测试数据的组数n,后面跟着n行输入。每组测试数据占1行,包括一个正整数a (1 < a < 32768)输出n行...

2018-03-06 20:03:35 1989

原创 1750:全排列

描述给定一个由不同的小写字母组成的字符串,输出这个字符串的所有全排列。 我们假设对于小写字母有'a' < 'b' < ... < 'y' < 'z',而且给定的字符串中的字母已经按照从小到大的顺序排列。输入输入只有一行,是一个由不同的小写字母组成的字符串,已知字符串的长度在1到6之间。输出输出这个字符串的所有排列方式,每行一个排列。要求字母序比较小的排列在前面。字母序如下定...

2018-03-06 10:06:39 2725

原创 1696:逆波兰表达式

描述逆波兰表达式是一种把运算符前置的算术表达式,例如普通的表达式2 + 3的逆波兰表示法为+ 2 3。逆波兰表达式的优点是运算符之间不必有优先级关系,也不必用括号改变运算次序,例如(2 + 3) * 4的逆波兰表示法为* + 2 3 4。本题求解逆波兰表达式的值,其中运算符包括+ - * /四个。输入输入为一行,其中运算符和运算数之间都用空格分隔,运算数是浮点数。输出输出为一行,表达式的值。可直接...

2018-03-06 09:38:55 786

原创 1815:画家问题 ⑤

描述有一个正方形的墙,由N*N个正方形的砖组成,其中一些砖是白色的,另外一些砖是黄色的。Bob是个画家,想把全部的砖都涂成黄色。但他的画笔不好使。当他用画笔涂画第(i, j)个位置的砖时, 位置(i-1, j)、 (i+1, j)、 (i, j-1)、 (i, j+1)上的砖都会改变颜色。请你帮助Bob计算出最少需要涂画多少块砖,才能使所有砖的颜色都变成黄色。输入第一行是一个整数n (1≤n ≤1...

2018-02-28 23:17:35 901

原创 1813:熄灯问题 ⑤

描述有一个由按钮组成的矩阵,其中每行有6个按钮,共5行。每个按钮的位置上有一盏灯。当按下一个按钮后,该按钮以及周围位置(上边、下边、左边、右边)的灯都会改变一次。即,如果灯原来是点亮的,就会被熄灭;如果灯原来是熄灭的,则会被点亮。在矩阵角上的按钮改变3盏灯的状态;在矩阵边上的按钮改变4盏灯的状态;其他的按钮改变5盏灯的状态。在上图中,左边矩阵中用X标记的按钮表示被按下,右边的矩阵表示灯状态的改变。...

2018-02-28 22:42:04 371

原创 8760:Cantor表 ③

描述现代数学的著名证明之一是Georg Cantor证明了有理数是可枚举的。他是用下面这一张表来证明这一命题的:我们以Z字形给上表的每一项编号。第一项是1/1,然后是1/2,2/1,3/1,2/2,…给定N,求第N项。输入一个整数N(1≤N≤10000000)。输出一个分数,即表中的第N项。找规律,打表#include <bits/stdc++.h>using namespace s...

2018-02-27 10:05:55 431

原创 8759:火车上的人数 ③

描述火车从始发站(称为第1站)开出,在始发站上车的人数为a,然后到达第2站,在第2站有人上、下车,但上、下车的人数相同,因此在第2站开出时(即在到达第3站之前)车上的人数保持为a人。从第3站起(包括第3站)上、下车的人数有一定规律:上车的人数都是上两站上车人数之和,而下车人数等于上一站上车人数,一直到终点站的前一站(第n-1站),都满足此规律。现给出的条件是:共有n个车站,始发站上车的人数为a,最...

2018-02-27 09:44:50 2276 2

原创 8757:三个三位数 ③

描述将1,2,…,9共9个数分成三组,分别组成三个三位数,且使这三个三位数构成    1:2:3的比例,试求出所有满足条件的三个三位数。例如:三个三位数192,384,576满足以上条件。#include <bits/stdc++.h>using namespace std;int a[15];int main(){ bool f; for(int i=123;i...

2018-02-27 09:34:27 1165

原创 8755:砝码称重 ②

描述设有1g、2g、3g、5g、10g、20g的砝码各若干枚(其总重<=1000),要求:计算用这些砝码能称出的不同重量的个数,但不包括一个砝码也不用的情况。输入一行,包括六个正整数a1,a2,a3,a4,a5,a6,表示1g砝码有a1个,2g砝码有a2个,……,20g砝码有a6个。相邻两个整数之间用单个空格隔开。输出以“Total=N”的形式输出,其中N为可以称出的不同重量的个数。#inc...

2018-02-27 09:29:56 1941

原创 7832:最接近的分数 ①

描述分母不超过 N 且 小于 A/B 的最大最简分数是多少?输入三个正整数N,A,B,相邻两个数之间用单个空格隔开。1 <= A < B < N <= 1000。输出两个正整数,分别是所求分数的分子和分母,中间用单个空格隔开。#include <bits/stdc++.h>using namespace std;int gcd(int x,int y){ ...

2018-02-27 09:18:04 2752

原创 7827:质数的和与积 ①

描述两个质数的和是S,它们的积最大是多少?输入一个不大于10000的正整数S,为两个质数的和。输出一个整数,为两个质数的最大乘积。数据保证有解。#include <bits/stdc++.h>using namespace std;bool prime(int x){ if(x<2)return false; int t=sqrt(x); for(in...

2018-02-27 00:35:12 4046

原创 7650:不定方程求解 ①

描述给定正整数a,b,c。求不定方程 ax+by=c 关于未知数x和y的所有非负整数解组数。输入一行,包含三个正整数a,b,c,两个整数之间用单个空格隔开。每个数均不大于1000。#include <bits/stdc++.h>using namespace std;int main(){ int a,b,c,ans; cin>>a>>b&g...

2018-02-27 00:13:58 1067

原创 7649:我家的门牌号 ①

描述我家住在一条短胡同里,这条胡同的门牌号从1开始顺序编号。若所有的门牌号之和减去我家门牌号的两倍,恰好等于n,求我家的门牌号及总共有多少家。数据保证有唯一解。输入一个正整数n。n < 100000。s-2*a=n,枚举s与a#include <bits/stdc++.h>using namespace std;int main(){ int n,s;cin>&...

2018-02-27 00:06:56 2437

原创 7647:余数相同问题 ①

描述已知三个正整数 a,b,c。现有一个大于1的整数x,将其作为除数分别除a,b,c,得到的余数相同。请问满足上述条件的x的最小值是多少?数据保证x有解。输入一行,三个不大于1000000的正整数a,b,c,两个整数之间用一个空格隔开。#include <bits/stdc++.h>using namespace std;int main(){ int a,b,c,x; ...

2018-02-27 00:01:13 2303 1

原创 7623:五户共井问题 ②

描述有A, B, C, D, E五家人共用一口井,已知井深不超过k米。A, B, C, D, E的绳长各不相同,而且厘米表示的绳长一定是整数。 从井口放下绳索正好达到水面时: (a)需要A家的绳n1条接上B家的绳1条 (b)需要B家的绳n2条接上C家的绳1条 (c)需要C家的绳n3条接上D家的绳1条 (d)需要D家的绳n4条接上E家的绳1条 (e)需要E家的绳n5条接上A家的绳1条 问井深和各家绳...

2018-02-26 23:55:07 3475 1

原创 7621:硬币面值组合 ①

描述使用1角、2角、5角硬币组成 n 角钱。设1角、2角、5角的硬币各用了a、b、c个,列出所有可能的a, b, c组合。输出顺序为:先按c的值从小到大,若c相同则按b的值从小到大。输入一个整数n(1 <= n <= 100),代表需要组成的钱的角数。输出输出有若干行,每行的形式为:i a b c第1列i代表当前行数(行数从001开始,固定3个字符宽度,宽度不足3的用0填充),后面3列...

2018-02-26 23:46:34 905

原创 7217:猴子吃桃 ③

描述    海滩上有一堆桃子,N只猴子来分。第一只猴子把这堆桃子平均分为N份,多了一个,这只猴子把多的一个扔入海中,拿走了一份。第二只猴子接着把剩下的桃子平均分成N份,又多了一个,它同样把多的一个扔入海中,拿走了一份。第三、第四、……,第N只猴子仍是最终剩下的桃子分成N份,扔掉多了的一个,并拿走一份。    编写程序,输入猴子的数量N,输出海滩上最少的桃子数,使得每只猴子都可吃到桃子。输入一个整数...

2018-02-26 23:33:33 1004

原创 7216:Minecraft ③

描述Minecraft是一个几乎无所不能的沙盒游戏,玩家可以利用游戏内的各种资源进行创造,搭建自己的世界。在Minecraft中,基本的建筑元素是边长为1个单位的立方体,Tony想用N个这种小立方体搭建一个长方体,并用他珍藏已久的贴纸对其进行装饰。如果一张贴纸可以贴满小立方体的一个面。那么,他需要用掉多少张贴纸呢?输入一个整数N,表示小明所拥有的小立方体的个数。N不会超过1000。输出      ...

2018-02-26 22:54:35 573

原创 7213:垃圾炸弹 ②

描述    2014年巴西世界杯(2014 FIFA World Cup)开踢啦!为了方便球迷观看比赛,里约街道上很多路口都放置了的直播大屏幕,但是人群散去后总会在这些路口留下一堆垃圾。为此巴西政府决定动用一种最新发明——“垃圾炸弹”。这种“炸弹”利用最先进的量子物理技术,爆炸后产生的冲击波可以完全清除波及范围内的所有垃圾,并且不会产生任何其他不良影响。炸弹爆炸后冲击波是以正方形方式扩散的,炸弹威...

2018-02-26 22:15:46 468

原创 6184:找和为K的两个元素 ①

描述在一个长度为n(n < 1000)的整数序列中,判断是否存在某两个元素之和为k。输入第一行输入序列的长度n和k,用空格分开。第二行输入序列中的n个整数,用空格分开。输出如果存在某两个元素的和为k,则输出yes,否则输出no。#include <bits/stdc++.h>using namespace std;int a[1000+10];int main(){ ...

2018-02-26 16:56:53 1366

原创 3526:最简真分数 ①

描述给出n个正整数,任取两个数分别作为分子和分母组成最简真分数,编程求共有几个这样的组合。输入第一行是一个正整数n(n<=600)。第二行是n个不同的整数,相邻两个整数之间用单个空格隔开。整数大于1且小于等于1000。输出一个整数,即最简真分数组合的个数。开一个数组接收数据,排序(从小到大),然后二重循环扫一遍,分子分母互质(最大公约数为1)的即满足要求#include <bits/s...

2018-02-26 16:54:11 1159

原创 2983:谁是你的潜在朋友 ②

描述“臭味相投”——这是我们描述朋友时喜欢用的词汇。两个人是朋友通常意味着他们存在着许多共同的兴趣。然而作为一个宅男,你发现自己与他人相互了解的机会并不太多。幸运的是,你意外得到了一份北大图书馆的图书借阅记录,于是你挑灯熬夜地编程,想从中发现潜在的朋友。首先你对借阅记录进行了一番整理,把N个读者依次编号为1,2,…,N,把M本书依次编号为1,2,…,M。同时,按照“臭味相投”的原则,和你喜欢读同一...

2018-02-26 16:33:38 445

原创 2723:因子问题 ①

描述任给两个正整数N、M,求一个最小的正整数a,使得a和(M-a)都是N的因子。输入包括两个整数N、M。N不超过1,000,000。输出输出一个整数a,表示结果。如果某个案例中满足条件的正整数不存在,则在对应行输出-1#include <bits/stdc++.h>using namespace std;int main(){ int n,m,t; cin>&...

2018-02-26 16:16:32 2610

原创 2722:和数 ②

描述给定一个正整数序列,判断其中有多少个数,等于数列中其他两个数的和。 比如,对于数列1 2 3 4, 这个问题的答案就是2, 因为3 = 2 + 1, 4 = 1 + 3。序列中可能存在相同的数字,例如:1 1 2 2 1,答案是2;1 1 2 2 9,答案是1#include <bits/stdc++.h>using namespace std;int v[10010];int...

2018-02-26 12:46:55 1081

原创 2472:子串计算 ②(STL处理)

描述给出一个只包含0和1的字符串(长度在1到100之间),求其每一个子串出现的次数。输入一行,一个01字符串。输出对所有出现次数在1次以上的子串,输出该子串及出现次数,中间用单个空格隔开。按子串的字典序从小到大依次输出,每行一个。用STL处理,效果不错#include <bits/stdc++.h>using namespace std;string sub[5010];map&...

2018-02-26 12:25:56 1641

原创 1978:生理周期 ①

描述人生来就有三个生理周期,分别为体力、感情和智力周期,它们的周期长度为23天、28天和33天。每一个周期中有一天是高峰。在高峰这天,人会在相应的方面表现出色。例如,智力周期的高峰,人会思维敏捷,精力容易高度集中。因为三个周期的周长不同,所以通常三个周期的高峰不会落在同一天。对于每个人,我们想知道何时三个高峰落在同一天。对于每个周期,我们会给出从当前年份的第一天开始,到出现高峰的天数(不一定是第一...

2018-02-26 11:53:20 529

原创 1973:确定进制 ②

描述6*9 = 42 对于十进制来说是错误的,但是对于13进制来说是正确的。即, 6(13) * 9(13) = 42(13), 而 42(13) = 4 * 131+ 2 * 130= 54(10)。 你的任务是写一段程序读入三个整数p、q和 r,然后确定一个进制 B(2<=B<=16) 使得 p * q = r. 如果 B有很多选择, 输出最小的一个。例如: p = 11, q =...

2018-02-26 11:28:49 451

原创 1943:满足条件的整数 ①

描述假设a、b、c均为整数,且满足a,b,c 大于1,并且小于等于100,找出所有符合条件:“a2+ b2= c2”的整数组。#include <bits/stdc++.h>using namespace std;int main(){ for(int i=2;i<=100;i++) for(int j=i;j<=100;j++) for(int...

2018-02-26 11:15:56 1146

原创 1812:完美立方 ②

描述形如a3= b3 + c3 + d3的等式被称为完美立方等式。例如123= 63 + 83 + 103 。编写一个程序,对任给的正整数N (N≤100),寻找所有的四元组(a, b, c, d),使得a3 = b3 + c3 + d3,其中a,b,c,d 大于 1, 小于等于N,且b<=c<=d。#include <bits/stdc++.h>using namesp...

2018-02-26 11:10:19 657

原创 1809:两倍 ①

描述给定2到15个不同的正整数,你的任务是计算这些数里面有多少个数对满足:数对中一个数是另一个数的两倍。比如给定1 4 3 2 9 7 18 22,得到的答案是3,因为2是1的两倍,4是2个两倍,18是9的两倍。直接枚举:#include <bits/stdc++.h>using namespace std;int a[20];int main(){ int k=0,n=...

2018-02-26 10:44:31 950

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除