![](https://img-blog.csdnimg.cn/20200307141744132.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
程序设计引导及在线实践
程序设计引导及在线实践(北大机试必刷),不会写,或者写的不够好的题。
Tech_hysteria
We are all in the gutter,but some of us are looking at the stars.
展开
-
百练#1088滑雪 dp递归 +递推
题目略先上WA代码:#include<iostream>#include<cstdio>#include<cstring>using namespace std;const int MAX = 110;const int step[4][2] = {{0,-1},{-1,0},{0,1},{1,0}};int r,c,res,d[MAX][MAX...原创 2020-03-20 21:34:25 · 171 阅读 · 0 评论 -
百练#4119复杂的整数划分
描述将正整数n 表示成一系列正整数之和,n=n1+n2+…+nk, 其中n1>=n2>=…>=nk>=1 ,k>=1 。正整数n 的这种表示称为正整数n 的划分。输入标准的输入包含若干组测试数据。每组测试数据是一行输入数据,包括两个整数N 和 K。(0 < N <= 50, 0 < K <= N)输出对于每组测试数据,输出以下三行...原创 2020-03-18 16:08:56 · 402 阅读 · 0 评论 -
百练#2373Dividing the Path
描述Farmer John’s cows have discovered that the clover growing along the ridge of the hill in his field is particularly good. To keep the clover watered, Farmer John is installing water sprinklers alon...原创 2020-03-16 21:23:20 · 188 阅读 · 0 评论 -
百练#1191棋盘分割
描述:略(图太多懒得复制)思路来自https://blog.csdn.net/qq_40774175/article/details/82704582那个截图分析的很细致啊。#include<iostream>#include<cstring>#include<cmath>using namespace std;const int INF = 1...原创 2020-03-10 14:03:27 · 95 阅读 · 0 评论 -
百练#2803碎纸机
描述你现在负责设计一种新式的碎纸机。一般的碎纸机会把纸切成小片,变得难以阅读。而你设计的新式的碎纸机有以下的特点:1.每次切割之前,先要给定碎纸机一个目标数,而且在每张被送入碎纸机的纸片上也需要包含一个数。2.碎纸机切出的每个纸片上都包括一个数。3.要求切出的每个纸片上的数的和要不大于目标数而且与目标数最接近。举一个例子,如下图,假设目标数是50,输入纸片上的数是12346。碎纸机会把纸...原创 2020-03-09 21:50:37 · 222 阅读 · 0 评论 -
百练#2802小游戏
描述一天早上,你起床的时候想:“我编程序这么牛,为什么不能靠这个赚点小钱呢?”因此你决定编写一个小游戏。游戏在一个分割成w * h个正方格子的矩形板上进行。如图所示,每个正方格子上可以有一张游戏卡片,当然也可以没有。当下面的情况满足时,我们认为两个游戏卡片之间有一条路径相连:路径只包含水平或者竖直的直线段。路径不能穿过别的游戏卡片。但是允许路径临时的离开矩形板。下面是一个例子:这里在 ...原创 2020-02-17 15:56:42 · 1159 阅读 · 1 评论 -
百练#2775文件结构图
描述在计算机上看到文件系统的结构通常很有用。Microsoft Windows上面的"explorer"程序就是这样的一个例子。但是在有图形界面之前,没有图形化的表示方法的,那时候最好的方式是把目录和文件的结构显示成一个"图"的样子,而且使用缩排的形式来表示目录的结构。比如:ROOT| dir1| file1| file2| file3| di...原创 2020-02-16 16:44:31 · 561 阅读 · 0 评论 -
百练#1011sticks
描述George took sticks of the same length and cut them randomly until all parts became at most 50 units long. Now he wants to return sticks to the original state, but he forgot how many sticks he had o...原创 2020-02-15 15:40:50 · 147 阅读 · 0 评论 -
百练#2754八后问题
描述会下国际象棋的人都很清楚:皇后可以在横、竖、斜线上不限步数地吃掉其他棋子。如何将8个皇后放在棋盘上(有8 * 8个方格),使它们谁也不能被吃掉!这就是著名的八皇后问题。对于某个满足要求的8皇后的摆放方法,定义一个皇后串a与之对应,即a=b1b2…b8,其中bi为相应摆法中第i行皇后所处的列数。已经知道8皇后问题一共有92组解(即92个不同的皇后串)。给出一个数b,要求输出第b个串。串的比...原创 2020-02-13 10:53:45 · 183 阅读 · 0 评论 -
百练#1183反正切函数的应用
描述反正切函数可展开成无穷级数,有如下公式(其中0 <= x <= 1) 公式(1)使用反正切函数计算PI是一种常用的方法。例如,最简单的计算PI的方法:PI=4arctan(1)=4(1-1/3+1/5-1/7+1/9-1/11+…) 公式(2)然而,这种方法的效率很低,但我们可以根据角度和的正切函数公式:tan(a+b)=[tan(a)+tan(b)]/[1-tan(a...原创 2020-02-12 14:04:49 · 356 阅读 · 0 评论 -
百练#2814拨钟问题
描述有9个时钟,排成一个3*3的矩阵。现在需要用最少的移动,将9个时钟的指针都拨到12点的位置。共允许有9种不同的移动。如下表所示,每个移动会将若干个时钟的指针沿顺时针方向拨动90度。移动 影响的时钟1 ABDE2 ABC3 BCEF4 ADG5 BDEFH6 CFI7 ...原创 2020-02-12 11:20:30 · 447 阅读 · 2 评论 -
百练#2812讨厌的青蛙
描述在韩国,有一种小的青蛙。每到晚上,这种青蛙会跳越稻田,从而踩踏稻子。农民在早上看到被踩踏的稻子,希望找到造成最大损害的那只青蛙经过的路径。每只青蛙总是沿着一条直线跳越稻田,而且每次跳跃的距离都相同。如下图所示,稻田里的稻子组成一个栅格,每棵稻子位于一个格点上。而青蛙总是从稻田的一侧跳进稻田,然后沿着某条直线穿越稻田,从另一侧跳出去如下图所示,可能会有多只青蛙从稻田穿越。青蛙的每一跳都恰...原创 2020-02-11 14:48:45 · 255 阅读 · 0 评论 -
百练#2706麦森数
描述加粗样式形如2p-1的素数称为麦森数,这时P一定也是个素数。但反过来不一定,即如果P是个素数。2p-1不一定也是素数。到1998年底,人们已找到了37个麦森数。最大的一个是P=3021377,它有909526位。麦森数有许多重要应用,它与完全数密切相关。任务:从文件中输入P (1000<P<3100000) ,计算2p-1的位数和最后500位数字(用十进制高精度数表示)输入...原创 2020-02-09 10:30:19 · 138 阅读 · 0 评论 -
百练#2952循环数
描述若一个n位的数字串满足下述条件,则称其是循环数(cyclic):将这个数字串视为整数(可能带有前导0),并用任意一个 1 到 n 之间(包含1和n)的整数去乘它时, 会得到一个将原数字串首尾相接后,再在某处断开而得到的新数字串所对应的整数。例如,数字 142857 是循环数,因为:142857 *1 = 142857142857 *2 = 285714142857 *3 = 42857...原创 2020-02-06 10:48:43 · 258 阅读 · 0 评论 -
百练#2974 487-3279
描述企业喜欢用容易被记住的电话号码。让电话号码容易被记住的一个办法是将它写成一个容易记住的单词或者短语。例如,你需要给滑铁卢大学打电话时,可以拨打TUT-GLOP。有时,只将电话号码中部分数字拼写成单词。当你晚上回到酒店,可以通过拨打310-GINO来向Gino’s订一份pizza。让电话号码容易被记住的另一个办法是以一种好记的方式对号码的数字进行分组。通过拨打必胜客的“三个十”号码3-10-1...原创 2020-01-28 11:54:07 · 174 阅读 · 0 评论 -
百练#1833排列
描述题目描述:大家知道,给出正整数n,则1到n这n个数可以构成n!种排列,把这些排列按照从小到大的顺序(字典顺序)列出,如n=3时,列出1 2 3,1 3 2,2 1 3,2 3 1,3 1 2,3 2 1六个排列。任务描述:给出某个排列,求出这个排列的下k个排列,如果遇到最后一个排列,则下1排列为第1个排列,即排列1 2 3…n。比如:n = 3,k=2 给出排列2 3 1,则它的下1...原创 2020-02-05 10:27:23 · 169 阅读 · 0 评论 -
百练#2966时区转换
描述直到19世纪,时间校准是一个纯粹的地方现象。每一个村庄当太阳升到最高点的时候把他们的时钟调到中午12点。一个钟表制造商人家或者村里主表的时间被认为是官方时间,市民们把自家的钟表和这个时间对齐。每周一些热心的市民会带着时间标准的表,游走大街小巷为其他市民对表。在城市之间旅游的话,在到达新地方的时候需要把怀表校准。但是,当铁路投入使用之后,越来越多的人频繁地长距离地往来,时间变得越来越重要。在铁...原创 2020-02-02 16:15:46 · 196 阅读 · 0 评论 -
百练#2804词典
描述你旅游到了一个国外的城市。那里的人们说的外国语言你不能理解。不过幸运的是,你有一本词典可以帮助你。输入首先输入一个词典,词典中包含不超过100000个词条,每个词条占据一行。每一个词条包括一个英文单词和一个外语单词,两个单词之间用一个空格隔开。而且在词典中不会有某个外语单词出现超过两次。词典之后是一个空行,然后给出一个由外语单词组成的文档,文档不超过100000行,而且每行只包括一个外语...原创 2020-01-31 10:36:27 · 337 阅读 · 0 评论 -
百练#2744子串
描述现在有一些由英文字符组成的大小写敏感的字符串,你的任务是找到一个最长的字符串x,使得对于已经给出的字符串中的任意一个y,x或者是y的子串,或者x中的字符反序之后得到的新字符串是y的子串。输入输入的第一行是一个整数t (1 <= t <= 10),t表示测试数据的数目。对于每一组测试数据,第一行是一个整数n (1 <= n <= 100),表示已经给出n个字符串。接...原创 2020-01-29 11:18:31 · 425 阅读 · 0 评论 -
百练#27982进制转化为16进制
描述输入一个2进制的数,要求输出该2进制数的16进制表示。在16进制的表示中,A-F表示10-15输入第1行是测试数据的组数n,后面跟着n行输入。每组测试数据占1行,包括一个以0和1组成的字符串,字符串长度至少是1,至多是10000输出n行,每行输出对应一个输入。样例输入2100000111样例输出207#include <iostream>#in...原创 2020-01-13 21:22:50 · 319 阅读 · 0 评论 -
百练#2818密码
描述Bob 和 Alice 开始使用一种全新的编码系统。它是一种基于一组私有钥匙的。他们选择了n个不同的数a1 , . . .,an, 它们都大于0小于等于n。 机密过程如下:待加密的信息放置在这组加密钥匙下,信息中的字符和密钥中的数字一一对应起来。信息中位于i位置的字母将被写到加密信息的第ai个位置, ai 是位于i位置的密钥。加密信息如此反复加密,一共加密 k 次。信息长度小于等于n。如果...原创 2020-01-12 20:57:34 · 300 阅读 · 0 评论 -
百练#2801填词
描述Alex喜欢填词游戏。填词是游戏是一个非常简单的游戏。填词游戏包括一个N * M大小的矩形方格盘和P个单词。玩家需要把每个方格中填上一个字母使得每个单词都能在方格盘上找到。每个单词都能找到要满足下面的条件:每个方格都不能同时属于超过一个的单词。一个长为k的单词一定要占据k个方格。单词在方格盘中出现的方向只能是竖直的或者水平的。你的任务是首先在方格盘上找到所有的单词,当然在棋盘上可能有些方...原创 2020-01-09 19:42:18 · 194 阅读 · 0 评论