一起挑战pythontip的题目(16)

简介: 一起挑战pythontip的题目(16)

第76题:QQ音速


题目描述:最近Py开始玩qq音速,这个游戏只需要按4个键,上,下,左,右(分别用u,d,l,r表示)。

Py必须按照游戏规则,依次按下一系列键。问题是Py的手太胖了,他只能把两个手指放在方向键上。

Py把一个手指从键i移动到键j,要耗费w[i][j]的体力,而按键不需要耗费体力。


由于Py反应比较慢,所以他每次只能移动一个手指。现在可怜的Py问你,他最少耗费多少体力?


假设Py一开始就把手指放在左、右两个键上。  


下面是w[i][j]数组  

 u d l r  

u 0 1 2 2  

d 1 0 1 1  

l 2 1 0 2  

r 2 1 2 0  


现在给你一个仅由0,1,2,3(分别表示u,d,l,r)组成的字符串str,表示Py需要依次按下的键,串的长度不超过10^6.


请你输出Py最少需要耗费的体力值。


如:str="01230123", 则输出8。


示例:输入:str = "01230123"

输出:8

============================================================

第77题:寻找最小的数


题目描述:现在我们手里有一张2维的正整数(包括0)表.对于第i行第j列的那个数我们有如下定义:a[i][j]是 a[i][k]{其中0<=k<j}和a[k][j]{其中0<=k<i}没有出现的那个最小的正整数比如a[0][0]=0;现在给你两个非负整数x,y,(0 <= x,y <= 10^9),请你输出a[x][y]的值。如:x=0,y=0, 则输出0    x=0,y=1, 则输出1    x=1,y=0, 则输出1    x=1,y=1, 则输出0


示例:输入:x = 0

y = 0

输出:0

============================================================

第78题:滑雪比赛


题目描述:我们把场地分为一个个的格子,给每个格子标定一个整数,代表这个格子所代表的地面的海拔高度。


比赛的参赛者可以从任意一个格子开始,但只能向相邻的四个格子移动,并且目地格子的高度必须

小于现在所在格子的高度。我们假设从一个格子滑行到另一个格子所用的时间为1个单位时间。

现在告诉你滑雪场的大小为n*m, 并给你一个n行m列的整数二维列表H,表示每个格子的海拔高度。

请你计算出在这个场地上最长能滑行多少时间。


如:

n = 4
m = 4
H= [
    [1, 2, 3, 4],
    [5,6,7,8],
    [9,10,11,12],
    [13,14,15,16]
    ]

则输出 6.

示例:输入:n = 4

m = 4

H = [[1, 12, 11, 10], [2, 13, 16, 9], [3, 14, 15, 8], [4, 5, 6, 7]]

输出:15

============================================================

第79题:考古学家的困境


题目描述:一个考古学家正在发掘古代的一座城市时,不小心被一个部分毁坏的石墙绊倒了。那个石墙上有数行奇异的数。这些数的前几位完整无缺,但不幸地,其余位的数字由于侵蚀作用而无法辨认。尽管如此,他注意到每一行完好的数字都像是2的幂的前几位,他就猜想这个石墙上原先的所有数都是2的幂。为了验证自己的想法,他选择了能看清楚的一些数写成列表,并把列表交给你,请你求出最小的2的幂使幂的前若干位与他提供的列表中的数一致。所以你必须写一个程序,对于给定的整数N(1 <= N <= 100),求出最小的指数E使这个数的前若干位与N相同。注意:N的长度必须小于2^E的长度的一半。如N=1,当E等于4时,虽然2^4=16,但因为1的长度等于16的长度的一半,所以不满足题上的条件,而只有在E等于7时,2^7=128才满足题意。因此,N = 1时, 输出7


示例:输入:N = 1

输出:7

============================================================

第80题:单词接龙


题目描述:今天说的单词接龙不是传统意义上的单词接龙。我们的游戏如下:


给你两个词,a和b,现在请你经过一系列转换,将a转换成b。


转换规则:每个词在转换的时候,只能修改其中一个字母(不能删除或者插入),

转换过程中得到的词必须是正确的词(在词典中存在的词)

例如:我们想把单词spice转换成stock,可能的一个转换序列为:

spice -> slice -> slick -> stick -> stock, 一共需要四步。

现在给你一个词典L,L中定义了所有合法的单词,L是一个由字符串构成的列表;

同时给你两个单词a和b,请你计算从a转换到b至少需要经过多少步。

若无法成功转换,则输出-1.

如:

L = ['spice', 'slice', 'slick', 'stick', 'stock', 'ipad']
a = 'spice', b = 'stock', 则输出4示例:输入:L = ["dip", "lip", "mad", "map", "maple", "may", "pad", "pip", "pod", "pop", "sap", "sip", "slice", "slick", "spice", "stick", "stock"]
a = "spice"
b = "stock"

输出:4



目录
相关文章
一起挑战pythontip的题目(37)
一起挑战pythontip的题目(37)
81 0
一起挑战pythontip的题目(35)
一起挑战pythontip的题目(35)
77 0
|
数据安全/隐私保护
一起挑战pythontip的题目(4)
一起挑战pythontip的题目(4)
66 0
一起挑战pythontip的题目(38)
一起挑战pythontip的题目(38)
180 0
一起挑战pythontip的题目(6)
一起挑战pythontip的题目(6)
60 0
|
Python
一起挑战pythontip的题目(21)
一起挑战pythontip的题目(21)
75 0
|
存储
一起挑战pythontip的题目(18)
一起挑战pythontip的题目(18)
61 0
一起挑战pythontip的题目(36-1)
一起挑战pythontip的题目(36-1)
54 0
|
Python
一起挑战pythontip的题目(3)
一起挑战pythontip的题目(3)
76 0
|
Python
一起挑战pythontip的题目(27)
一起挑战pythontip的题目(27)
83 0