(1)题目描述
小明总是睡过头,所以他定了很多闹钟,只有在闹钟响的时候他才会醒过来并且决定起不起来。
从他起床算起他需要X分钟到达教室,上课时间为当天的A时B分,请问他最晚可以什么时候起床。
(2)输入描述
每个输入包含一个测试用例
每个测试用例的第一行包含一个整数,表示闹钟的数量N(N <= 100)
接下来的N行每行包含两个整数,表示这个闹钟响起的时间为Hi(0 <= A < 24)时Mi(0 <= B < 60)分
接下来的一行包含一个整数,表示从他起床算起他需要X(0 <= X <= 100)分钟到达教室
接下来的一行包含两个整数,表示上课时间为A(0 <= A < 24)时B(0 <= B < 60)分
数据保证至少有一个闹钟可以让牛牛及时到达教室
(3)输出描述
输出两个整数表示牛牛最晚起床时间
(4)示例
输入:
3
5 0
6 0
7 0
59
6 59
输出:
6 0
import numpy as np
N = eval(input('input 1:'))
my_input = np.zeros((N+3,3), dtype=int)
my_input[0,0] = N
shape = my_input.shape
for i in range(1, shape[0]):
data = input('input %d:'%(i+1)).split( )
if(len(data)==2):
my_input[i,0] = int(data[0])
my_input[i,1] = int(data[1])
else:
my_input[i,1] = int(data[0])
my_input[i,2] = 60 * my_input[i,0] + 1 * my_input[i,1]
for j in range(shape[0]-3,0,-1):
if((my_input[j,2]+my_input[-2,2])<=my_input[-1,2]):
print('%d %d'%(my_input[j,0], my_input[j,1]))
break
(1)题目描述
小明和安琪是好朋友。最近,他们的谈话被一家侦探机构监控,所以他们想将他们的谈话内容进行加密处理。
于是,他们发明了一种新的加密方式。每条信息都被编译成二进制数B(明文),其长度为N。
然后该信息被写下K次,每次向右移动0,1,...,K-1位。
例如:B = 1001010,K=4
1001010
1001010
1001010
1001010
然后对每一列进行异或操作,并且把最终所得的结果记录下来,我们将该数称为S(密文)。
例如上述例子的结果为:1110100110。
最后,将编码的信息S和K发送给安琪。
小明已经实现了这种编码的加密过程,但他要求安琪写一个程序去实现这种编码的解密过程,你能帮助安琪实现解密过程吗?
(2)输入描述
第一行输入两个整数 N 和 K
第二行输入一个二进制字符串S,长度是N + K - 1
(3)输出描述
输出明文B
(4)示例
输入:
7 4
1110100110
输出:
1001010
import numpy as np
nk = input('Input N and K:').split( )
nk=np.array([int(x) for x in nk])
N=nk[0]
K=nk[1]
S = input('Input S:')
S=np.array([int(x) for x in S]) # 密文
B = np.zeros((N,),dtype=int) # 明文
data = np.zeros((K,N+K-1),dtype=int)
for k1 in range(0,N):
res=data[0,k1]
for k2 in range(1,K):
res^=data[k2,k1]
if(res!=S[k1]):
B[k1]=1
h1=[]
for m1 in range(0,K):
h1.append(m1)
h2=[]
for m2 in range(k1,k1+K):
h2.append(m2)
for h in range(0,K):
data[h1[h],h2[h]]=1
print('\n',''.join([str(x) for x in B.tolist()]))
(1)题目描述
我叫王大锤,是一家互联网公司的老板,快到年底了,要给员工发奖金。
真头疼,大环境这么差,怎么才能尽可能的少发点、同时还能让大家怨气少一点呢?
公司的座位是排成一排的,每个人都最多打听的到和自己相邻左右两个人的奖金数,我决定这样发:
1. 每个人都至少发100块。
2. 论资排辈:每个人加入公司的年限是公开的,如果一个员工A加入公司的时间比领座的同事B早,那A至少比B多拿100块。这样,他的心理会平衡一些。
我特喵是个天才!将人性理解的如此透彻,做一个小公司的老板真是屈才了。
······
万万没想到,发完奖金,所有员工都离职了,都跳槽去了一家叫字节跳动的公司,他们都说这家公司一不论资排辈,二不吃大锅饭,
奖罚分明,激励到位,老板还特大方,说的我都想去应聘了......
请听题:给定大锤公司员工的座位表,以及每个员工的入职时间,计算大锤最少需要发多少奖金。
(2)输入描述
第一行只有一个正整数 N (1 <= N <= 1000),表示员工人数
第二行有N个正整数,代表每个员工的入职年限。排列顺序即为员工的座位顺序。
(3)输出描述
一个数字,代表大锤最少需要发的奖金总数。
(4)示例
输入:
4
3 9 2 7
输出:
600
说明:
每人奖金数为(100,200,100,200)
import numpy as np
N = eval(input('Input the number of people: '))
bonus = 100 * np.ones((N,),dtype=int)
order = input('Input order:').split( )
order=np.array([int(x) for x in order])
idx = np.argmin(order)
for k1 in range(idx+1,N):
if(order[k1]<=order[k1-1]):
break
else:
bonus[k1]=bonus[k1-1]+100
for k2 in range(idx-1,-1,-1):
if(order[k2]<=order[k2+1]):
break
else:
bonus[k2]=bonus[k2+1]+100
S=sum(bonus)
print(f'\n奖金数为:{S}')
4.跑步
没看懂
参考:字节跳动2020届秋招笔试题(https://blog.csdn.net/hzj1998/article/details/99285786)