#算法的乐趣

算法笔记_167:算法提高 矩阵翻转(Java)

/目录1问题描述2解决方案问题描述Ciel有一个N*N的矩阵,每个格子里都有一个整数。N是一个奇数,设X=(N+1)/2。Ciel每次都可以做这样的一次操作:他从矩阵选出一个X*X的子矩阵,并将这个子矩阵中的所有整数都乘以-1。现在问你经过一些操作之后,矩阵中所有数的和最大可以为多少。输入格式第一行为一个正整数N。接下...

算法笔记_168:历届试题 矩阵翻硬币(Java)

/目录1问题描述2解决方案问题描述  小明先把硬币摆成了一个n行m列的矩阵。  随后,小明对每一个硬币分别进行一次Q操作。  对第x行第y列的硬币进行Q操作的定义:将所有第i*x行,第j*y列的硬币进行翻转。  其中i和j为任意使操作可行的正整数,行号和列号都是从1开始。  当小明对所有硬币都进行了一次Q操作后,他发现...

算法笔记_169:历届试题 兰顿蚂蚁(Java)

/目录1问题描述2解决方案问题描述  兰顿蚂蚁,是于1986年,由克里斯·兰顿提出来的,属于细胞自动机的一种。  平面上的正方形格子被填上黑色或白色。在其中一格正方形内有一只“蚂蚁”。  蚂蚁的头部朝向为:上下左右其中一方。  蚂蚁的移动规则十分简单:  若蚂蚁在黑格,右转90度,...

算法笔记_170:历届试题 分糖果(Java)

/目录1问题描述2解决方案问题描述  有n个小朋友围坐成一圈。老师给每个小朋友随机发偶数个糖果,然后进行下面的游戏:  每个小朋友都把自己的糖果分一半给左手边的孩子。  一轮分糖后,拥有奇数颗糖的孩子由老师补给1个糖果,从而变成偶数。  反复进行这个游戏,直到所有小朋友的糖果数都相同为止。  你的任务是预测在已知的初始...

算法笔记_171:历届试题 小朋友排队(Java)

/目录1问题描述2解决方案问题描述  n个小朋友站成一排。现在要把他们按身高从低到高的顺序排列,但是每次只能交换位置相邻的两个小朋友。  每个小朋友都有一个不高兴的程度。开始的时候,所有小朋友的不高兴程度都是0。  如果某个小朋友第一次被要求交换,则他的不高兴程度增加1,如果第二次要求他交换,则他的不高兴程度增加2(即...

算法笔记_172:历届试题 波动数列(Java)

/目录1问题描述2解决方案 问题描述   观察这个数列:  1302-11-2...  这个数列中后一项总是比前一项增加2或者减少3。  栋栋对这种数列很好奇,他想知道长度为n和为s而且后一项总是比前一项增加a或者减少b的整数数列可能有多少种呢? 输入格式   输入的第一行包含四...

算法笔记_173:历届试题 斐波那契(Java)

/目录1问题描述2解决方案问题描述  斐波那契数列大家都非常熟悉。它的定义是:  f(x)=1....(x=1,2)  f(x)=f(x-1)+f(x-2)....(x>2)  对于给定的整数n和m,我们希望求出:  f(1)+f(2)+...+f(n)的值。但这个值可能非常大,所以我们把它对f(m)取模。  公...

算法笔记_174:历届试题 地宫取宝(Java)

/目录1问题描述2解决方案问题描述  X国王有一个地宫宝库。是nxm个格子的矩阵。每个格子放一件宝贝。每个宝贝贴着价值标签。  地宫的入口在左上角,出口在右下角。  小明被带到地宫的入口,国王要求他只能向右或向下行走。  走过某个格子时,如果那个格子中的宝贝价值比小明手中任意宝贝价值都大,小明就可以拿起它(当然,也可以...

算法笔记_175:历届试题 蚂蚁感冒(Java)

/目录1问题描述2解决方案问题描述  长100厘米的细长直杆子上有n只蚂蚁。它们的头有的朝左,有的朝右。  每只蚂蚁都只能沿着杆子向前爬,速度是1厘米/秒。  当两只蚂蚁碰面时,它们会同时掉头往相反的方向爬行。  这些蚂蚁中,有1只蚂蚁感冒了。并且在和其它蚂蚁碰面时,会把感冒传染给碰到的蚂蚁。  请你计算,当所有蚂蚁都...

算法笔记_176:历届试题 最大子阵(Java)

/目录1问题描述2解决方案问题描述  给定一个n*m的矩阵A,求A中的一个非空子矩阵,使这个子矩阵中的元素和最大。  其中,A的子矩阵指在A中行和列均连续的一块。输入格式  输入的第一行包含两个整数n,m,分别表示矩阵A的行数和列数。  接下来n行,每行m个整数,表示矩阵A。输出格式  输出一行,包含一个整数,表示A中...

算法笔记_177:历届试题 城市建设(Java)

/目录1问题描述2解决方案问题描述  栋栋居住在一个繁华的C市中,然而,这个城市的道路大都年久失修。市长准备重新修一些路以方便市民,于是找到了栋栋,希望栋栋能帮助他。  C市中有n个比较重要的地点,市长希望这些地点重点被考虑。现在可以修一些道路来连接其中的一些地点,每条道路可以连接其中的两个地点。另外由于C市有一条河从...

算法笔记_178:历届试题 邮局(Java)

/目录1问题描述2解决方案问题描述  C村住着n户村民,由于交通闭塞,C村的村民只能通过信件与外界交流。为了方便村民们发信,C村打算在C村建设k个邮局,这样每户村民可以去离自己家最近的邮局发信。  现在给出了m个备选的邮局,请从中选出k个来,使得村民到自己家最近的邮局的距离和最小。其中两点之间的距离定义为两点之间的直线...

算法笔记_179:历届试题 数字游戏(Java)

/目录1问题描述2解决方案问题描述  栋栋正在和同学们玩一个数字游戏。  游戏的规则是这样的:栋栋和同学们一共n个人围坐在一圈。栋栋首先说出数字1。接下来,坐在栋栋左手边的同学要说下一个数字2。再下面的一个同学要从上一个同学说的数字往下数两个数说出来,也就是说4。下一个同学要往下数三个数,说7。依次类推。  为了使数字...

算法笔记_180:历届试题 国王的烦恼(Java)

/目录1问题描述2解决方案问题描述  C国由n个小岛组成,为了方便小岛之间联络,C国在小岛间建立了m座大桥,每座大桥连接两座小岛。两个小岛间可能存在多座桥连接。然而,由于海水冲刷,有一些大桥面临着不能使用的危险。  如果两个小岛间的所有大桥都不能使用,则这两座小岛就不能直接到达了。然而,只要这两座小岛的居民能通过其他的...

算法笔记_181:历届试题 回文数字(Java)

/目录1问题描述2解决方案问题描述  观察数字:12321,123321都有一个共同的特征,无论从左到右读还是从右向左读,都是相同的。这样的数字叫做:回文数字。  本题要求你找到一些5位或6位的十进制数字。满足如下要求:  该数字的各个数位之和等于输入的整数。输入格式  一个正整数n(10<n<100),表...
首页上一页...2021222324...下一页尾页