随笔分类 -  暴力枚举

摘要:题意: 问题描述 给定一个n*n的棋盘,棋盘中有一些位置不能放皇后。现在要向棋盘中放入n个黑皇后和n个白皇后,使任意的两个黑皇后都不在同一行、同一列或同一条对角线上,任意的两个白皇后都不在同一行、同一列或同一条对角线上。问总共有多少种放法?n小于等于8。 输入格式 输入的第一行为一个整数n,表示棋盘 阅读全文
posted @ 2018-02-23 19:16 Somnuspoppy 阅读(798) 评论(0) 推荐(0)
摘要:题意:给定两个长度为N的字符串,1<=N<=4000,求满足字符串1中的某个区间所有的字母种类和个数都与字符串2中的某个区间相同最长的区间长度。 分析: 1、预处理每个串字母个数的前缀和。 2、暴力即可。 阅读全文
posted @ 2017-09-02 10:54 Somnuspoppy 阅读(431) 评论(0) 推荐(0)
摘要:题意:n个工作,m个人完成,每个工作有ci个阶段,一个人只能选择一种工作完成,可以不选,且只能完成该工作中与自身标号相同的工作阶段,问最多能完成几种工作。 分析: 1、如果一个工作中的某个工作阶段没有任何一个人能完成,则这个工作是不可完成的。 2、预处理每个人能完成各工作的各工作阶段。 3、剪枝:如 阅读全文
posted @ 2017-08-28 22:29 Somnuspoppy 阅读(171) 评论(0) 推荐(0)
摘要:题意:给定n个数,要求修改其中最少的数,使得这n个数满足ai + 1 - ai = k。 分析: 暴力,1000*1000。 1、这n个数,就是一个首项为a1,公差为k的等差数列。k已知,如果确定了a1,就能确定整个数列。 2、1 ≤ ai ≤ 1000,因此,可以从1~1000中枚举a1,将形成的 阅读全文
posted @ 2017-07-03 22:49 Somnuspoppy 阅读(202) 评论(0) 推荐(0)
摘要:题意:有9只盘子,排成1个圆圈。 其中8只盘子内装着8只蚱蜢,有一个是空盘。 我们把这些蚱蜢顺时针编号为 1~8 每只蚱蜢都可以跳到相邻的空盘中,也可以再用点力,越过一个相邻的蚱蜢跳到空盘中。 请你计算一下,如果要使得蚱蜢们的队形改为按照逆时针排列, 并且保持空盘的位置不变(也就是1-8换位,2-7 阅读全文
posted @ 2017-05-25 21:51 Somnuspoppy 阅读(2311) 评论(1) 推荐(1)
摘要:题意: 小明冒充X星球的骑士,进入了一个奇怪的城堡。城堡里边什么都没有,只有方形石头铺成的地面。 假设城堡地面是 n x n 个方格。【如图1.png】所示。 按习俗,骑士要从西北角走到东南角。可以横向或纵向移动,但不能斜着走,也不能跳跃。每走到一个新方格,就要向正北方和正西方各射一箭。(城堡的西墙 阅读全文
posted @ 2017-05-25 21:03 Somnuspoppy 阅读(524) 评论(1) 推荐(0)
摘要:题意: 小明参加X星球的打靶比赛。比赛使用电子感应计分系统。其中有一局,小明得了96分。 这局小明共打了6发子弹,没有脱靶。但望远镜看过去,只有3个弹孔。显然,有些子弹准确地穿过了前边的弹孔。 不同环数得分是这样设置的:1,2,3,5,10,20,25,50 那么小明的6发子弹得分都是多少呢?有哪些 阅读全文
posted @ 2017-05-17 10:10 Somnuspoppy 阅读(838) 评论(0) 推荐(0)
摘要:题意: 某国的足球联赛中有N支参赛球队,编号从1至N。联赛采用主客场双循环赛制,参赛球队两两之间在双方主场各赛一场。 联赛战罢,结果已经尘埃落定。此时,联赛主席突发奇想,希望从中找出一条包含所有球队的“食物链”,来说明联赛的精彩程度。“食物链”为一个1至N的排列{ T1 T2 ... TN },满足 阅读全文
posted @ 2017-04-13 21:38 Somnuspoppy 阅读(363) 评论(0) 推荐(0)
摘要:题意: 四平方和定理,又称为拉格朗日定理: 每个正整数都可以表示为至多4个正整数的平方和。 如果把0包括进去,就正好可以表示为4个数的平方和。 比如: 5 = 0^2 + 0^2 + 1^2 + 2^2 7 = 1^2 + 1^2 + 1^2 + 2^2 (^符号表示乘方的意思) 对于一个给定的正整 阅读全文
posted @ 2017-04-07 22:00 Somnuspoppy 阅读(380) 评论(0) 推荐(0)
摘要:题意:有12张连在一起的12生肖的邮票。现在你要从中剪下5张来,要求必须是连着的。(仅仅连接一个角不算相连) 分析:暴力+并查集。 1、记录下每个数字所在位置。 2、先枚举各不相同的5个数的所有可能情况(不包括数字种类相同但次序不同的情况)。 2、然后判断若其中某两个数字相邻则加入一个连通块,如果最 阅读全文
posted @ 2017-04-07 21:28 Somnuspoppy 阅读(483) 评论(0) 推荐(0)
摘要:题意:现在小学的数学题目也不是那么好玩的。 看看这个寒假作业: □ + □ = □ □ - □ = □ □ × □ = □ □ ÷ □ = □ 每个方块代表1~13中的某一个数字,但不能重复。 比如: 6 + 7 = 13 9 - 8 = 1 3 * 4 = 12 10 / 2 = 5 以及: 7 阅读全文
posted @ 2017-03-30 18:05 Somnuspoppy 阅读(1364) 评论(0) 推荐(0)
摘要:题意:如下的10个格子 填入0~9的数字。要求:连续的两个数字不能相邻。 (左右、上下、对角都算相邻) 一共有多少种可能的填数方案? 分析:dfs,划定边界,行1~4,列1~3,初始化为INT_INF,这样所填入的数字与INT_INF一定不相邻,所以可不必单独考虑(1,1)和(3,4)两个格子。 阅读全文
posted @ 2017-03-28 10:11 Somnuspoppy 阅读(542) 评论(0) 推荐(0)
摘要:题意:给定n个人在两个网站上的得分,一个人若能在任意一个网站里战胜另一个人,则认为这个人能战胜那个人。问每个人都能战胜多少人。 分析: 1、战胜具有传递性。 例如: 4 5 2 7 3 3 因为第三个人能战胜第二个人,第二个人能战胜第一个人,所以虽然第三个人两个分数都比第一个人低,但第三个人能战胜第 阅读全文
posted @ 2017-03-26 21:07 Somnuspoppy 阅读(266) 评论(0) 推荐(0)
摘要:题意: 一个正整数N的因子中可能存在若干连续的数字。例如630可以分解为3*5*6*7,其中5、6、7就是3个连续的数字。给定任一正整数N,要求编写程序求出最长连续因子的个数,并输出最小的连续因子序列。 输入格式: 输入在一行中给出一个正整数N(1<N<231)。 输出格式: 首先在第1行输出最长连 阅读全文
posted @ 2017-03-23 22:13 Somnuspoppy 阅读(290) 评论(0) 推荐(0)
摘要:题意:一个球从起点开始可以沿上下左右四个方向走,若往一个方向走,会有三种情况: 1、沿着该方向,一直到遇到障碍物才会停下(停在面前是障碍物的地方),且会把该障碍物撞成空地。 2、沿着该方向,一直到经过终点,游戏胜利。 2、沿着该方向,一直到走出游戏边界,游戏结束。 问是否能在十步之内从起点到终点。( 阅读全文
posted @ 2017-03-17 16:30 Somnuspoppy 阅读(130) 评论(0) 推荐(0)
摘要:题意:将n个数字分成两组,两组分别组成一个数字,问两个数字的最小差值。要求,当组内数字个数多于1个时,组成的数字不允许有前导0。(2<=n<=10,每个数字范围是0~9) 分析: 1、枚举n个数字的全排列。 2、当两组数字个数相同或只差1时组成的两个数字才可能出现最小差值。 3、0~cnt/2 - 阅读全文
posted @ 2017-03-06 22:22 Somnuspoppy 阅读(188) 评论(0) 推荐(0)
摘要:题意:4*4的棋盘摆满棋子,有黑有白,翻转一个棋子的同时也将翻转其上下左右的棋子(翻转后黑变白,白变黑),问使棋盘上所有棋子颜色相同,最少翻转的棋子数。 分析: 1、每个棋子至多翻转1次。翻转偶数次与不翻转结果相同,翻转奇数次与翻转1次结果相同。 2、每个棋子翻转或不翻转,共有216种情况。 3、I 阅读全文
posted @ 2017-02-18 16:51 Somnuspoppy 阅读(185) 评论(0) 推荐(0)
摘要:题意:给两个6行5列的字母矩阵,找出满足如下条件的“密码”:密码中的每个字母在两个矩阵的对应列中均出现。给定k(1<=k<=7777),你的任务是找出字典序第k小的密码。如果不存在,输出NO。 分析:因为k<=7777,直接按字典序从小到大的顺序递归一个一个的枚举。 注意:定义在dfs里的vis不能 阅读全文
posted @ 2017-02-10 23:21 Somnuspoppy 阅读(423) 评论(0) 推荐(0)
摘要:题意:输入1~n的一个排列(3<=n<=500),每次可以交换两个整数。用最少的交换次数把排列变成1~n的一个环状序列。 分析:正序反序皆可。枚举每一个起点,求最少交换次数,取最小值。 求最小交换次数solve函数,将所有不需要交换的数字用cnt统计出来,而需要交换的数字集合(个数为n)交换次数是n 阅读全文
posted @ 2017-02-08 13:46 Somnuspoppy 阅读(221) 评论(0) 推荐(0)
摘要:题意:给出一个数字谜,要求修改尽量少的数,使修改后的数字谜只有唯一解。空格和数字可以随意替换,但不能增删,数字谜中所有涉及的数必须是没有前导零的正数。输入数字谜一定形如a*b=c,其中a、b、c分别最多有2、2、4位。分析: 1、因为输出字典序最小,所以每一位数按“*0123456789”顺序枚举。 阅读全文
posted @ 2017-02-05 00:03 Somnuspoppy 阅读(689) 评论(0) 推荐(1)