03 2018 档案

摘要:题目描述给定无向连通图G 和M 种不同的颜色,用这些颜色为图G 的各顶点着色,每个顶点着一种颜色。如果有一种着色法使G 中每条边的2 个顶点着不同的颜色,则称这个图是M 可着色的。图的M 着色问题是对于给定图G 和M 种颜色,找出所有不同的着色法。对于给定的无向连通图G 和M 种不同的颜色,编程计算 阅读全文
posted @ 2018-03-31 13:36 mrclr 阅读(351) 评论(0) 推荐(0)
摘要:闭合区域面积统计(area)题目描述编程计算由‘*’号围成的下列图形的面积。面积的计算方法是统计*号所围成的闭合曲线中水平线和垂直线交点的数目。如图所示,在10*10 的二维数组中,有*围住了15 个点,因此面积为15。 输入一个10*10 的二维数组, 里面的数为0 和1,1 代表着*号。 输出一 阅读全文
posted @ 2018-03-31 13:24 mrclr 阅读(1643) 评论(0) 推荐(0)
摘要:问题描述:从三个元素的集合[A,B,C]中选取元素生成一个N 个字符组成的序列,使得没有两个相邻的子序列(子序列长度=2)相同,例:N=5 时ABCBA 是合格的,而序列ABCBC 与ABABC 是不合格的,因为其中子序列BC,AB 是相同的。输入N(1<=N<=12),求出满足条件的N 个字符的所 阅读全文
posted @ 2018-03-30 19:21 mrclr 阅读(2693) 评论(0) 推荐(1)
摘要:问题描述:有一批共n 个集装箱要装上艘载重量为c 的轮船,其中集装箱i 的重量为wi。找出一种最优装载方案,将轮船尽可能装满,即在装载体积不受限制的情况下,将尽可能重的集装箱装上轮船。 输入格式:第一行有2 个正整数n(1<=n<=40)和c。n 是集装箱数,c 是轮船的载重量。接下来的1 个有n 阅读全文
posted @ 2018-03-30 19:12 mrclr 阅读(2322) 评论(0) 推荐(0)
摘要:在一个n*n 的国际象棋棋盘上放置n 个皇后,使得它们中任意2 个之间都不互相“攻击”,即任意2 个皇后不可在同行、同列、同斜线上。求N 皇后问题的所有放法。 输入n: 输出:每行输出一种方案,每种方案顺序输出皇后所在的列号,各个数之间用空格隔开。 样例输入:4 样例输出:2 4 1 33 1 4 阅读全文
posted @ 2018-03-28 20:32 mrclr 阅读(222) 评论(0) 推荐(0)
摘要:【问题描述】有一只中国象棋中的“ 马” ,在半张棋盘的左上角出发,向右下角跳去。规定只许向右跳(可上,可下, 但不允许向左跳)。请编程求从起点A(1,1)到终点B(m,n) 共有多少种不同跳法。 【输入格式】输入文件只有一行,两个整数m 和n(1≤m,n≤20),两个数之间有一个空格。 【输出格式】 阅读全文
posted @ 2018-03-28 20:03 mrclr 阅读(733) 评论(0) 推荐(1)
摘要:问题描述:这个游戏只有一个规则:将格子填满使得, 每一行,每一列,和每一个小的九宫格恰好包含1-9 这9 个数字是由于规则简单而又变化多端,数独一时间风靡全球。现在,我们希望你能编写一个程序解决数独问题。 输入数据 输入数据一共9 行,每行有9 个字符。输入数据描述了一个待解决的数独,其中,“?”表 阅读全文
posted @ 2018-03-28 19:56 mrclr 阅读(427) 评论(0) 推荐(0)
摘要:题目描述假设有n 个任务由k 个可并行工作的机器来完成。完成任务i 需要的时间为ti。试设计一个算法找到出完成这个n 个任务的最佳调度,使得完成全部任务的时间最早。对任意给定的整数n 和k,以及完成任务i 需要的时间为ti,1<=i<=n。编程计算完成这n 个任务的最佳调度。n<=20,k<=8 输 阅读全文
posted @ 2018-03-24 15:53 mrclr 阅读(482) 评论(0) 推荐(0)
摘要:题目描述:给出一个长度为n 的序列A1,A2,...,An,求最大连续和。换句话说,要求找到1<=i<=j<=n,使得Ai+Ai+1+...+Aj 尽量大。 输入格式:第一行输入n(1<=n<=50000)。接下来1 行输入序列的n 个元素,第i+1 行为Ai(|Ai|<=10000)。 输出格式: 阅读全文
posted @ 2018-03-24 14:29 mrclr 阅读(364) 评论(0) 推荐(0)
摘要:将n 进制数x,转换为m 进制数y输出.(n,m<=20) 输入格式 x<n>m 输出格式 x<n>=y<m> 样例输入 48<10>8 样例输出 48<10>=60<8> 没啥好讲的,先转化成10进制,再转化成其他进制。 阅读全文
posted @ 2018-03-24 14:04 mrclr 阅读(219) 评论(0) 推荐(0)
摘要:分解(一) 输入自然数n(n<100),输出所有和的形式。不能重复。如:4=1+1+2;4=1+2+1;4=2+1+1 属于一种分解形式。样例输入:7输出:1:7=1+62:7=1+1+53:7=1+1+1+44:7=1+1+1+1+35:7=1+1+1+1+1+26:7=1+1+1+1+1+1+1 阅读全文
posted @ 2018-03-24 13:29 mrclr 阅读(377) 评论(0) 推荐(0)
摘要:无重复元素的组合输入一串小些字母(无重复字母),从中取出k(k<10)个字母,输出组合情况。样例:输入:abcd3输出:abcabdacdbcd 一道搜索的题,想办法建图或是画搜索树。 这里推荐建图的方法,因为是组合情况,不用考虑顺序,也就是说,元素一样,顺序不一样算同一种组合。 那么为了避免重复组 阅读全文
posted @ 2018-03-24 00:22 mrclr 阅读(451) 评论(0) 推荐(0)
摘要:无重复元素的全排列 输入n(<=11),按从小到大输出数字1 到n 个的全部排列。样例:输入:3输出:1:1 2 32:1 3 23:2 1 34:2 3 15:3 1 26:3 2 1 全排列可以用STL来写,但为了强化dfs,就用 dfs 吧。 看了某一个pdf,我对搜索有了一个更深的认识。就是 阅读全文
posted @ 2018-03-23 23:37 mrclr 阅读(1203) 评论(2) 推荐(1)
摘要:邮递员在送信时,为了节省路途,自己规定:每次总是从n 个村子中选择其中一个合适的村子出发,途中每个村子仅且经过一次,送完所有的信。已知各个村子的道路连通情况。输出所有符合要求的路线。如果没有输出“no road”。 【输入】第一行:整数n:村子的个数。接下来是一个n*n 的0、1 矩阵,表示n 个村 阅读全文
posted @ 2018-03-21 19:14 mrclr 阅读(353) 评论(0) 推荐(0)
摘要:警察抓到了n 个罪犯,警察根据经验知道他们属于不同的犯罪团伙,却不能判断有多少个团伙,但通过警察的审讯,知道其中的一些罪犯之间相互认识,已知同一犯罪团伙的成员之间直接或间接认识。有可能一个犯罪团伙只有一个人。请你根据已知罪犯之间的关系,确定犯罪团伙的数量。已知罪犯的编号从1 至n。 【输入】第一行: 阅读全文
posted @ 2018-03-21 19:04 mrclr 阅读(362) 评论(0) 推荐(0)
摘要:逆序对是这样定义的:对于给定的一段正整数序列,逆序对就是序列中ai>aj且i<j的有序对。 说人话,就是一个数列中,一个数在你后面,去比你小,则这俩数就是一对逆序对。 怎么做呢?常规的算法是开一个结构体,记录每一个数的值和他在数组中的位置。然后按值从小到大排序。 在开一个标记数组,从1到n循环,对于 阅读全文
posted @ 2018-03-17 22:44 mrclr 阅读(2518) 评论(0) 推荐(0)
摘要:树状数组是实现单点修改,前缀查询的数据结构。 图中的c数组就是树状数组,可以看出一个c数组对应了不同数量的原始数组(a数组)的值。 为了实现这种存储结构,有必要引出lowbit这个概念。 首先,lowbit(x) = x & -x。 是什么原理,我觉得我将不太明白,各位百度一下吧,网上有很多不错的解 阅读全文
posted @ 2018-03-17 21:50 mrclr 阅读(165) 评论(0) 推荐(0)
摘要:【题目描述】现在已知N 件商品,和搬运它们其中每一件的费用。现在搬家公司老板Mr.sb 决定让我们每次任意选取2 件商品。然后这2 件商品只算一件商品的费用。但是这个商品的搬运费用是将选出的2 个商品的费用之和除以k 的运算结果。如此反复。直到只收一件商品的钱。这个就是商店要付的费用。掌柜的想尽可能 阅读全文
posted @ 2018-03-16 20:05 mrclr 阅读(276) 评论(0) 推荐(0)
摘要:【题目描述】 一个整数区间[A,B]请编程完成以下任务:1.从文件中读取区间的个数及其它们的描述;2.找到满足下述条件的所含元素个数最少的集合中元素的个数,对于每一个区间,都至少有两个不同的整数属于该集合。 【输入】首行包括区间的数目n,1<=n<=10000,接下来的n 行,每行包括两个整数a,b 阅读全文
posted @ 2018-03-16 20:03 mrclr 阅读(1844) 评论(0) 推荐(0)
摘要:【题目描述】阿月正在女朋友宁宁的监督下完成自己的增肥计划。为了增肥,阿月希望吃到更多的脂肪。然而也不能只吃高脂肪食品,那样的话就会导致缺少其他营养。阿月通过研究发现:真正的营养膳食规定某类食品不宜一次性吃超过若干份。比如就一顿饭来说,肉类不宜吃超过1 份,鱼类不宜吃超过1 份,蛋类不宜吃超过1 份, 阅读全文
posted @ 2018-03-16 19:05 mrclr 阅读(358) 评论(0) 推荐(0)
摘要:题目描述 某工厂生产一批棍状零件,每个零件都有一定的长度(Li)和重量(Wi)。现在为了加工需要,要将它们分成若干组,使每一组的零件都能排成一个长度和重量都不下降(若 i<j,则 Li<=Lj,Wi<=Wj)的序列。请问至少要分成几组? 输入 第一行为一个整数 N(N<=1000),表示零件的个数, 阅读全文
posted @ 2018-03-14 23:16 mrclr 阅读(1084) 评论(0) 推荐(0)
摘要:题目描述 在以后的若干天里戴维将学习美元与德国马克的汇率。编写程序帮助戴维何时应买或卖马克或美元,使他从 100 美元开始,最后能获得最高可能的价值。 输入 第一行是一个自然数 N,1≤N≤100,表示戴维学习汇率的天数。 接下来的 N 行中每行是一个自然数 A,1≤A≤1000。第 i+1 行的 阅读全文
posted @ 2018-03-14 22:53 mrclr 阅读(635) 评论(0) 推荐(0)
摘要:题目描述 学校在最近几天有 n 个活动,这些活动都需要使用学校的大礼堂,在同一时间,礼堂只能被一个活动使。由于有些活动时间上有冲突,学校办公室人员只好让一些活动放弃使用礼堂而使用其他教室。 现在给出 n 个活动使用礼堂的起始时间 Bi 和结束时间 Ei(Bi < Ei),请你帮助办公室人员安排一些活 阅读全文
posted @ 2018-03-14 22:33 mrclr 阅读(350) 评论(0) 推荐(0)
摘要:题目描述 对于给定的一个长度为 N 的正整数数列 A[i],现要将其分成连续的若干段,并且每段和不超过 M(可以等于 M),问最少能将其分成多少段使得满足要求。 输入 第 1 行包含两个正整数 N,M,表示了数列 A[i]的长度与每段和的最大值,第 2 行包含 N 个空格隔开的非负整数 A[i],如 阅读全文
posted @ 2018-03-14 22:22 mrclr 阅读(1334) 评论(0) 推荐(0)
摘要:【问题描述】熊大妈的奶牛在时针的带领下,围成了一个圈跳舞。由于没有严格的教育,奶牛们之间的间隔不一致。奶牛想知道两只最远的奶牛到底隔了多远。奶牛A 到B 的距离为A 顺时针走和逆时针走,到达B 的较短路程。告诉你相邻个奶牛间的距离,请你告诉奶牛两只最远的奶牛到底隔了多远。【输入格式】第一行一个整数N 阅读全文
posted @ 2018-03-10 16:28 mrclr 阅读(333) 评论(0) 推荐(0)
摘要:【问题描述】在熊大妈英明的带领下,时针和他的同伴生下了许多牛宝宝。熊大妈决定给每个宝宝都穿上可爱的婴儿装。于是,为牛宝宝洗晒衣服就成了很不爽的事情。圣人王担负起了这个重任。洗完衣服后,你就要弄干衣服。衣服在自然条件下用1 的时间可以晒干A 点湿度。抠门的熊大妈买了1 台烘衣机。使用烘衣机可以让你用1 阅读全文
posted @ 2018-03-10 15:01 mrclr 阅读(190) 评论(0) 推荐(0)
摘要:题目描述 求出C(n,r)的最后十位,其中0<r≤n≤30000,输出时不足十位数也按十位输出,此时高位用0表示。C(n,r)=n×(n-1)×……×(n-r+1)/(1×2×3×……×r)。 输入数据为两个以空格隔开的自然数n,r。 输入 一行两个整数 输出 一行,10位数字 样例输入 5 2 样 阅读全文
posted @ 2018-03-09 23:11 mrclr 阅读(583) 评论(0) 推荐(0)
摘要:1128: 高精度高精度除法 题目描述 计算n/m的值,设n,m为整数,n的长度小于等于1000,m的长度小于等于15位,要求精确到小数点后500位。如果整数位为零,则省略小数点前的零 输入 两行,每行一个整数 输出 一行,保留500位小数的实数。 样例输入 355 113 样例输出 3.14159 阅读全文
posted @ 2018-03-09 20:24 mrclr 阅读(1365) 评论(0) 推荐(0)
摘要:高精度阶乘其实就是进行了 n 次高精乘以低精,只要高精乘以低精会写,高精度阶乘就没问题。 那么先说一说高精乘以低精吧。 高精乘以低精就是把高精度数的每一位乘以低精度数,然后该位的数就是每一次乘积 mod 10 的余数,而 / 10 得到的数作为进位用的数。(这是在数组中每一个元素只存一位的前提下) 阅读全文
posted @ 2018-03-07 22:24 mrclr 阅读(1575) 评论(4) 推荐(0)
摘要:高精度乘法就是把 a 的每一位和 b 相乘。 关键的一件事就是别把积 c 数组 的每一位弄错了,比如用 a 的第 i 位 a[i] 乘以 b[j] ,那么对应的 c 的位数就是 c[i + j] (i,j都是从0开始),列一个竖式就能很直观地看出来了。 还有一件事就是 c 数组的位数问题,一个 n 阅读全文
posted @ 2018-03-07 20:14 mrclr 阅读(1340) 评论(0) 推荐(0)
摘要:高精度减法主要考虑这两件事:1.差为负数的情况。2.借位问题。 首先我们考虑一下第一个问题1.怎么解决差为负数 因为高精度就是列竖式模拟,而列竖式是小学学的,我记得那时候还没学负数吧,所以我们就默认用大数减小数,只要在前面输出一个符号就行。 那我们再想一想如何判断两个数大小。首先若位数不等,那位数大 阅读全文
posted @ 2018-03-07 19:42 mrclr 阅读(916) 评论(0) 推荐(0)
摘要:a + b 自然是个很简单的问题,但若 a 和 b 都能达到两百位的话,连 unsigned long long 都存不了,这是就要用到高精度加法。 具体原理就是让电脑模拟列竖式加法。 首先我们用数组存这两个数。为了方便读入,我们采用字符串读入,然后将其转化成数字存进数组中。存进数组的时候要倒着存入 阅读全文
posted @ 2018-03-06 23:34 mrclr 阅读(385) 评论(0) 推荐(0)
摘要:题目描述 有 2n 个棋子(n≥4)排成一行,开始为位置白子全部在左边,黑子全部在右边,如下图为 n=5 的情况: ○○○○○●●●●● 移动棋子的规则是:每次必须同时移动相邻的两个棋子,颜色不限,可以左移也可以右移到空位上去,但不能调换两个棋子的左右位置。每次移动必须跳过若干个棋子(不能平移),要 阅读全文
posted @ 2018-03-03 21:28 mrclr 阅读(403) 评论(0) 推荐(0)
摘要:题目描述 一个简单的数列问题: 给定一个长度为n的数列,求这样的三个元素 ai,aj,ak 的个数,满足 ai< aj >ak,且 i<j<k。 输入输出格式 输入格式: 第1行是一个整数n(1<= n <= 50000)。 接下来n行,每行一个元素ai(0< = ai <= 32767)。 输出格 阅读全文
posted @ 2018-03-03 18:21 mrclr 阅读(365) 评论(0) 推荐(0)
摘要:【题目描述】自从曹冲搞定了大象以后,曹操就开始捉摸让儿子干些事业,于是派他到中原养猪场养猪,可是曹冲满不高兴,于是在工作中马马虎虎,有一次曹操想知道母猪的数量,于是曹冲想狠狠耍曹操一把。举个例子,假如有16 头母猪,如果建了3 个猪圈,剩下1 头猪就没有地方安家了。如果建造了5 个猪圈,但是仍然有1 阅读全文
posted @ 2018-03-03 16:06 mrclr 阅读(361) 评论(0) 推荐(0)
摘要:【问题描述】辰辰是个天资聪颖的孩子,他的梦想是成为世界上最伟大的医师。为此,他想拜附近最有威望的医师为师。医师为了判断他的资质,给他出了一个难题。医师把他带到一个到处都是草药的山洞里对他说:“孩子,这个山洞里有一些不同的草药,采每一株都需要一些时间,每一株也有它自身的价值。我会给你一段时间,在这段时 阅读全文
posted @ 2018-03-03 14:59 mrclr 阅读(233) 评论(0) 推荐(0)