QQ扫一扫联系
灯的开关
编程实现:
现在有n盏灯,都是亮着的,编号为1到n,每一盏灯都有一个独立的开关,现在按一下编号为2的倍数的灯的开关,再按一下编号为3的倍数的灯的开关,再按一下编号为4的倍数的灯的开关,再按一下编号为5的倍数的灯的开关,请问现在还亮着的灯有多少盏?
输入描述
输入一个正整数n,代表有n盏灯。
输出描述
输出仍然亮着的灯有多少盏。
输入样例
10
输出样例
6
算式
编程实现:
有一道算式看不清了,只知道是a [ ] b = c,已知a,b,c都是1到9之间的不同数字,输入+、-、*、/其中一种运算,输出算式有多少种可能。
例:输入*号,那么算式一共有4种可能:
2 * 3 = 6,a为2,b为3,c为6;
2 * 4 = 8,a为2,b为4,c为8;
3 * 2 = 6,a为3,b为2,c为6;
4 * 2 = 8,a为4,b为2,c为8。
输入描述
输入+、-、*、/其中一种运算。
输出描述
输出算式有多少种可能。
输入样例
*
输出样例
4
植物大战僵尸
编程实现:
为了应对僵尸,需要选取多种不同的植物,现有n种植物可供选择,已知每种植物的攻击力,想要选取攻击力之和为k的植物,相同植物不能重复选择,有多少种不同的选择方案?
输入描述
第一行输入两个正整数n和k,中间用空格隔开,表示有n种植物可供选择(1≤n≤50),目标攻击力之和为k(1≤k≤100)。
第二行输入n个正整数,表示每种植物的攻击力(1≤攻击力≤100)。
输出描述
输出达到目标攻击力之和的选择方案的数量。
输入样例
3 10 5 2 3
输出样例
1
连连看
编程实现:
现在有一个连连看游戏。场上有n张卡牌,每张卡牌上有一个分数,只要将两张卡牌连到一起,就会合成一张新的卡牌,卡牌上的分数为之前两张卡牌的分数之和,你将获得新卡牌分数的相应积分。经过多次操作后,最后只剩一张卡牌,游戏结束。给定初始每张卡牌的分数,请问最多能获得多少分?
例如:场上有3张卡牌,分数分别为10分、23分、5分,将10分卡牌与23分卡牌合成,可得到33分卡牌,再将33分卡牌与5分卡牌合成,可得到38分卡牌,获得总分数为33+38=71分为最多的分数。
输入描述
第一行输入一个正整数n,表示有n张卡牌(1≤n≤10000)。
第二行输入n个正整数,表示每张卡牌的初始分数(1≤分数≤10000),正整数之间由空格隔开。
输出描述
输出最多可以获得的分数。
输入样例
3 10 23 5
输出样例
71
地宫宝藏
编程实现:
现有地宫里埋藏着一些宝藏,已知地宫的藏宝房间有n间,且呈环形分布,每个房间都有一定价值的宝藏,由于机关设置,你每取走一个房间的宝藏,相邻房间的房门就会锁死,不能再进入,给出房间的数量n和每个房间的宝藏价值,请问你最多能拿走多少价值的宝藏?
输入描述
第一行输入一个正整数n,表示地宫有n个房间(1≤n≤100)。
第二行输入n个正整数,表示每个房间的宝藏价值(1≤宝藏价值≤100)。
输出描述
输出最多可以获得的宝藏价值。
输入样例
4 10 3 7 13
输出样例
17
方块城堡
编程实现
为了迎接新同学,学校用方块打算在校门口堆一座城堡,让同学们拍照打卡。老师标记了 n 个位置,这些位置从左到右排成一整排,编号从 1 到 n。他原本打算在第 i 号位置用 ai个方块搭建城堡的某种结构。然而,送货的司机过于粗心,胡乱地把方块卸下后就离开了。老师统计了一下,发现目前在第 i 号位置的方块数量是 bi(司机把所有方块都卸下了,所以 ai 之和等于 bi之和)。
无奈之下,老师只能让同学们帮忙移动这些方块,由于方块很重,所以一次只能把一个方块移动到相邻编号的位置上。请帮同学们规划一下,要最少移动多少次才能让所有位置的方块数量从bi 变成 ai。
输入描述
输入共三行。
第一行一个正整数 n,表示位置个数。(1≤n≤1000)
第二行 n 个正整数 ai,表示原本计划中每个位置的方块个数。
第三行 n 个正整数 bi,表示目前每个位置的方块个数。(1≤ai,bi≤1000)
输出描述
输出一行一个数字,表示最少需要的移动次数。
输入样例
5 1 2 3 4 5 3 1 2 5 4
输出样例
4
香蕉田
编程实现
小猴有一片矩形香蕉林,香蕉林一共被分成了 n x m 个小块,每个小块上会有一颗香蕉树或者是一块空地。我们用 0 表示一块空地,用 1 表示一颗香蕉树,香蕉林之外可以视作全部是空地。
小猴认为一个香蕉田由聚在一起的 1 相连接而组成(上下左右相邻)。
在一个香蕉田 A 中,可以从中选出若干个香蕉树,使得这些香蕉树可以通过上、下、左、右方向连接构成一个“环”。
如果另一个香蕉田 B 所占据的格子全部位于这个“环”内部,就将香蕉田 B 视作香蕉田A 的子香蕉田。
若 B 是 A 的子香蕉田,C 是 B 的子香蕉田,那么 C 也是 A 的子香蕉田。
例如,有 5 x 5 的香蕉林:
其中香蕉田有两个,分别用蓝色区域和绿色区域来表示,但是绿色区域的香蕉田是蓝色区域香蕉田的子香蕉田。如果不统计子香蕉田的个数,那么该香蕉林中只有一个香蕉田。
现在,请你帮助小猴统计一下香蕉林中一共有多少个香蕉田。在进行统计时不需要统计子香蕉田的数目。
输入描述
第一行,包含一个整数 T,表示有 T 组测试数据。( 1≤T≤10 )
对于每一组数据:
第一行包含两个整数 n,m,表示香蕉林的大小。( 1≤n,m≤50 )
接下来的 n 行,每行包含 m 个字符,保证字符只可能是 0 或 1。
输出描述
对于每组数据,输出一行,包含一个整数表示答案。
输入样例
2 5 5 01111 11001 10101 10001 11111 5 6 111111 100001 010101 100001 111111
输出样例
1 3
样例说明
对于第一组数据,包含两个香蕉田,下面用不同的颜色进行了区分:
绿色香蕉田在蓝色香蕉田的“环”内部,所以绿色香蕉田是蓝色香蕉田的子香蕉田,答案为 1。
对于第二组数据,包含三个香蕉田,下面用不同的颜色进行了区分:
注意橙色香蕉田并不是蓝色香蕉田或者绿色香蕉田的子香蕉田 ,因为蓝色香蕉田和绿色香蕉田中均没有“环”,答案为 3。