- 导语
- A [#4练习赛]符合条件的数
- B [#4练习赛]选代表
- C [#4练习赛]成绩统计
- D [#4练习赛]背答案
- E [#4练习赛]击鼓传花
前几天传智杯出了练习赛,博主考研空闲之余,去做了一下
好长时间不能更新文章,实在是考研太忙
正好见很多粉丝留言传智杯的题目
网上也没有对应的教程(这也算是全网首篇了吧 啊哈哈哈,不过确实是很简单的题目)
博主也还没有系统的学过数据结构与算法 (开学以来一直在学 *** 作系统和组成原理)
用自己的写法写了五道题的详解
希望大佬们多多指教
如果有大佬们可以传授一下考研经验
感激不尽
暴力破解
N,k = map(int,input().split()) init_num = N while True: if str(init_num).count('3') == k: print(init_num) break else: init_num += 1B [#4练习赛]选代表
利用类似字词统计的原理,代码有注释
timing = int(input()) xuehao_list = list(map(int,input().split())) dict_num = {} new_list = [] if len(xuehao_list) == timing: for i in xuehao_list: if i in dict_num: dict_num[i] += 1 else: # 这里的new_list保证按照输入顺序输出其中不重复的数字 new_list.append(i) dict_num[i] = 1 for i in new_list: print(i,end=' ')C [#4练习赛]成绩统计
这里亲测不可以用import导入math,否则会一直报错,我还纠结了半天
geshu = int(input()) stu_list = [] for i in range(geshu): stu_list.append(input().split()) dict_stu_list = {} for stu_grade in stu_list: temp = (int(stu_grade[2])**0.5) * 10 grade = temp * 0.6 + 0.4 * int(stu_grade[1]) # 如果有小数点,向上取整 if int(str(grade).split('.')[1])>0: grade += 1 grade = int(grade) dict_stu_list[stu_grade[0]] = grade # 对字典进行排序 ord_dict_stu = sorted(dict_stu_list.items(),key=lambda x:x[1],reverse=True) for i in ord_dict_stu: print("{} {}".format(i[0],i[1]))D [#4练习赛]背答案
这个题没啥说的,就是逻辑问题,但是,注意问题不能用字典存放,因为输入的问题有重复的问题,但是答案不存在重复的答案,这一个坑要注意
daan,ti_= map(int,input().split()) dict_daan = {} dict_wenti = [] dict_xuanxiang = {1:'A',2:'B',3:'C',4:'D'} for i in range(daan): ti,daan = input().split() dict_daan[ti] = daan for i in range(ti_): ti_2,A,B,C,D = input().split() dict_wenti.append([ti_2,A,B,C,D]) for wenti in dict_wenti: for daan in dict_daan.items(): if wenti[0] == daan[0]: print(dict_xuanxiang[wenti.index(dict_daan[wenti[0]])])E [#4练习赛]击鼓传花
击鼓传花可能有更好的算法进行解决,奈何我的数据结构还不是很精通,打算寒假学数据结构同时,刷一刷leedcode 提高一下算法思想。
n,m,k= map(int,input().split()) init_list = list(map(int,input().split())) new_list = [] for j in range(5): for i in range(m): temp = (init_list[i]+k)%n if temp>n-1: temp = 0 init_list[i] = temp for i in init_list.copy(): new_list.append(i) print(n-len(set(new_list)))
祝大家考研必胜!!!!!!!!!!!!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)