CCF-Python
文章平均质量分 54
CCF认证考试,Python方法
小杨呀404
一个程序员小白
展开
-
201312-2CCF认证考试 IBSN数 Python版
第一题出现次数最多的数满分答案:num = list(map(int,input().split('-')))a = str(num[0]) + str(num[1]) + str(num[2])a_1 = [i for i in a]s = 0for i in range(9): s = s + (int(a_1[i]) * (i+1))b = int(s % 11)if b == 10: if b == num[3]: print("Right"原创 2020-09-12 22:14:25 · 127 阅读 · 0 评论 -
201312-1 CCF认证考试 出现次数最多的数 Python版
满分答案:n = int(input())num = list(map(int,input().split()))num_count = []num.sort()for i in range(n): num_count.append(num.count(num[i]))a = max(num_count)a_index = num_count.index(a)print(num[a_index])原创 2020-09-12 21:12:20 · 94 阅读 · 0 评论 -
201403-2 CCF认证考试 Python版
第一题:相反数问题描述试题编号: 201403-2 试题名称: 窗口 时间限制: 1.0s 内存限制: 256.0MB 问题描述: 问题描述 在某图形操作系统中,有 N 个窗口,每个窗口都是一个两边与坐标轴分别平行的矩形区域。窗口的边界上的点也属于该窗口。窗口之间有层次的区别,在多于一个窗口重叠的区域里,只会显示位于顶层的窗口里的内容。 当你点击屏幕上一个点的时候,你就选择了处于被点击位置的最顶层窗口,并且这个窗口就会被移到原创 2020-09-09 17:41:06 · 205 阅读 · 0 评论 -
201403-1 CCF认证考试 相反数 Python版
满分答案:import copyn = int(input())no = list(map(int,input().split()))no_1 = copy.deepcopy(no)count = 0for i in range(n): if -no[i] in no_1: count = count + 1 no_1.remove(no[i])print(count)原创 2020-09-09 16:19:05 · 86 阅读 · 0 评论 -
201409-2 CCF认证考试 画图 Python版
第一题:相邻数对试题编号: 201409-2 试题名称: 画图 时间限制: 1.0s 内存限制: 256.0MB 问题描述: 问题描述 在一个定义了直角坐标系的纸上,画一个(x1,y1)到(x2,y2)的矩形指将横坐标范围从x1到x2,纵坐标范围从y1到y2之间的区域涂上颜色。 下图给出了一个画了两个矩形的例子。第一个矩形是(1,1) 到(4, 4),用绿色和紫色表示。第二个矩形是(2, 3)到(6, 5),用蓝色和紫色表示。图原创 2020-09-08 23:08:11 · 120 阅读 · 0 评论 -
201409-1 CCF认证考试 相邻数对 Python版
满分答案:import copyn = int(input())no = list(map(int,input().split()))no_1 = copy.deepcopy(no)count = 0for i in range(n): if no[i]+1 in no_1: count = count + 1 if no[i]-1 in no_1: count = count + 1 no_1.remove(no[i])prin..原创 2020-09-08 21:55:31 · 95 阅读 · 0 评论 -
201412-2 CCF认证考试 Z字形扫描 Python版
第一题:门禁系统试题编号: 201412-2 试题名称: Z字形扫描 时间限制: 2.0s 内存限制: 256.0MB 问题描述: 问题描述 在图像编码的算法中,需要将一个给定的方形矩阵进行Z字形扫描(Zigzag Scan)。给定一个n×n的矩阵,Z字形扫描的过程如下图所示: 对于下面的4×4的矩阵, 1 5 3 9 3 7 5 6 9 4 6 4 7 3 1 3 对原创 2020-09-07 23:51:07 · 199 阅读 · 0 评论 -
201412-1 CCF认证考试 门禁系统 Python版
满分答案:n = int(input())no = list(map(int,input().split()))no_1 = []num = []for i in range(n): no_1.append(no[i]) a = no_1.count(no[i]) num.append(a)for i in range(n): print(num[i],end = ' ')原创 2020-09-07 23:16:57 · 114 阅读 · 0 评论 -
201503-2 CCF认证考试 数字排序 Python版
第一题:图像旋转满分答案:def takeSecond(elem): return elem[1]n = int(input())num = list(map(int,input().split()))count = []num_1 = list(set(num))re = []for i in range(len(num_1)): a = num.count(num_1[i]) count.append(a)for i in range(len(num_原创 2020-09-07 02:02:38 · 104 阅读 · 0 评论 -
201503-1 CCF认证考试 图像旋转 Python版
满分答案:import copyn,m = map(int,input().split())a = []a_f = []b = []for i in range(n): a.append(list(map(int,input().split())))for i in range(m): for j in range(n): b.append(a[j][i]) p = copy.deepcopy(b) a_f.append(p) b..原创 2020-09-07 01:30:58 · 75 阅读 · 0 评论 -
201509-2 CCF认证考试 日期计算 Python版
第一题:数列分段满分答案:y = int(input())d = int(input())mon = 0date = 0is_leap = 0a = 0leap_year = [31,29,31,30,31,30,31,31,30,31,30,31]nomal_year = [31,28,31,30,31,30,31,31,30,31,30,31]if y%4 == 0 and y%100 !=0: is_leap = 1if y%400 == 0: is_l原创 2020-09-04 22:37:00 · 87 阅读 · 0 评论 -
201509-1 CCF认证考试 数列分段 Python版
满分答案:n = int(input())num = []count = 1num = list(map(int,input().split()))for i in range(n-1): if num[i+1] != num[i]: count = count+1print(count)原创 2020-09-04 21:53:38 · 96 阅读 · 0 评论 -
201512-2 CCF认证考试 消除类游戏 Python版
第一题:数位之和问题描述试题编号: 201512-2 试题名称: 消除类游戏 时间限制: 1.0s 内存限制: 256.0MB 问题描述: 问题描述 消除类游戏是深受大众欢迎的一种游戏,游戏在一个包含有n行m列的游戏棋盘上进行,棋盘的每一行每一列的方格上放着一个有颜色的棋子,当一行或一列上有连续三个或更多的相同颜色的棋子时,这些棋子都被消除。当有多处可以被消除时,这些地方的棋子将同时被消除。 现在给你一个n行m列的棋盘,棋盘原创 2020-09-04 01:24:08 · 76 阅读 · 0 评论 -
201512-1 CCF认证考试 数位之和 Python版
满分答案:n = int(input())n_1 = list(str(n))s = 0for i in range(len(n_1)): s = s + int(n_1[i])print(s)原创 2020-09-04 00:50:54 · 74 阅读 · 0 评论 -
201604-2 CCF认证考试 俄罗斯方块 Python版
第一题:折点数试题编号: 201604-2 试题名称: 俄罗斯方块 时间限制: 1.0s 内存限制: 256.0MB 问题描述: 问题描述 俄罗斯方块是俄罗斯人阿列克谢·帕基特诺夫发明的一款休闲游戏。 游戏在一个15行10列的方格图上进行,方格图上的每一个格子可能已经放置了方块,或者没有放置方块。每一轮,都会有一个新的由4个小方块组成的板块从方格图的上方落下,玩家可以操作板块左右移动放到合适的位置,当板块中某一个方块的下边缘与方原创 2020-09-03 03:25:43 · 123 阅读 · 0 评论 -
201604-1 CCF认证考试 折点数 Python版
满分答案:n = int(input())price = [0 for i in range(n)]price = input().split()num = 0for i in range(n): price[i] = int(price[i])for i in range(n-2): if price[i] > price[i+1] and price[i+1] < price[i+2]: num = num +1 if price[..原创 2020-09-02 23:12:48 · 105 阅读 · 0 评论 -
201609-2 CCF认证考试 火车购票 Python版
第一题:最大波动80分答案(找到错误点我再更新):n = int(input())p = [0 for i in range(n)]p = input().split()seat = [[i+1,0] for i in range(100)]book = []for i in range(n): p[i] = int(p[i]) if p[i] == 1: for j in range(100): if seat[j][1] =原创 2020-08-28 01:13:00 · 97 阅读 · 0 评论 -
201609-1 CCF认证考试 最大波动 Python版
满分答案:n = int(input())price = [0 for i in range(n)]price = input().split()m = 0for i in range(n-1): t = abs(int(price[i]) - int(price[i+1])) if t > m: m = tprint(m)原创 2020-08-27 23:19:05 · 96 阅读 · 0 评论 -
201612-2 CCF认证考试 工资计算 Python版
第一题:中间数满分答案:T = int(input())S = 0a_1 = 1500*(1-0.03)a_2 = a_1 + (4500-1500)*(1-0.1)a_3 = a_2 + (9000-4500)*(1-0.2)a_4 = a_3 + (35000-9000)*(1-0.25)a_5 = a_4 + (55000-35000)*(1-0.3)a_6 = a_5 + (80000-55000)*(1-0.35)if T <= 3500: S = T原创 2020-08-27 02:45:58 · 148 阅读 · 2 评论 -
201612-1 CCF认证考试 中间数 Python版
满分答案:n = int(input())m = [0 for i in range(n)]m = input().split()number = 0b = 0s = 0for i in range(n): m[i] = int(m[i])for i in range(n): b = 0 s = 0 for j in range(n): if i == j: pass else: ..原创 2020-08-27 00:48:54 · 110 阅读 · 0 评论 -
201703-2 CCF认证考试 学生排队 Python版
第一题:分蛋糕满分答案:n = int(input())m = int(input())no = []for i in range(n): no.append(i+1)for i in range(m): p,q = map(int,input().split()) if q >= 0:#向后 a = no.index(p) b = a + q no_1 = no[:] for j in r.原创 2020-08-21 21:43:10 · 169 阅读 · 0 评论 -
201703-1 CCF认证考试 分蛋糕 Python版
满分答案:n,k = map(int,input().split())cake = [0 for i in range(n)]cake = input().split()count = 0w = 0for i in range(n): cake[i] = int(cake[i]) w = w + cake[i] if w >= k: count = count + 1 w = 0 elif i == n-1 and w..原创 2020-08-21 20:59:46 · 138 阅读 · 0 评论 -
201709-2 CCF认证考试 公共钥匙盒 Python版
第一题:打酱油满分答案:(保证先还后借的方法借鉴博客)n,k = map(int,input().split())use = [[0 for i in range(3)] for j in range(k)]key_num = []use = []for i in range(n): key_num.append(i+1)for i in range(k): w,s,c = map(int,input().split()) use.append([s,1,w]原创 2020-08-21 00:04:09 · 157 阅读 · 0 评论 -
201709-1 CCF认证考试 打酱油 Python版
满分答案:n = int(input())num = 0if n < 30: num = int(n / 10)elif n == 30: num = 4elif 30 < n < 50: num = int(n / 10) + 1elif n == 50: num = 7elif n > 50: no_sale = int(n / 10) plan_3 = no_sale + int(no_sale / 3) ..原创 2020-08-20 22:52:16 · 174 阅读 · 0 评论 -
201712-2 CCF认证考试 游戏 Python版
第一题最小差值满分答案:n,k = map(int,input().split())m = nnum = [[0 for i in range(2)]for j in range(n)]count = 0for i in range(n): num[i][0] = i+1 num[i][1] = 1 while (m != 1): for i in range(n): if num[i][1] != 0: num[i][原创 2020-08-20 01:58:37 · 148 阅读 · 0 评论 -
201712-1 CCF认证考试 最小差值 Python版
满分答案:n = int(input())num = [0 for i in range(n)]num = input().split()difference = 20000for i in range(n): num[i] = int(num[i])for i in range(n-1): for j in range(i+1,n): difference_now = abs(num[i] - num[j]) if difference_..原创 2020-08-19 23:47:25 · 133 阅读 · 0 评论 -
201803-2 CCF认证考试 碰撞的小球 Python版
第一题跳一跳第二题:问题描述 数轴上有一条长度为L(L为偶数)的线段,左端点在原点,右端点在坐标L处。有n个不计体积的小球在线段上,开始时所有的小球都处在偶数坐标上,速度方向向右,速度大小为1单位长度每秒。 当小球到达线段的端点(左端点或右端点)的时候,会立即向相反的方向移动,速度大小仍然为原来大小。 当两个小球撞到一起的时候,两个小球会分别向与自己原来移动的方向相反的方向,以原来的速度大小继续移动。 现在,告诉你线段的长度L,小球数量n,以及n个小球的初始位置,请你计算t秒之后,原创 2020-08-14 19:17:35 · 116 阅读 · 0 评论 -
201803-1 CCF认证考试 跳一跳 Python版
满分答案:one_score = [0]one_score = input().split()score = 0count = 0for i in range(len(one_score)): one_score[i] = int(one_score[i]) if one_score[i] == 1: score = score + 1 count = 0 elif one_score[i] == 2: count =..原创 2020-08-14 16:33:29 · 104 阅读 · 0 评论 -
201809-2 CCF认证考试 买菜 Python版
第一题:卖菜满分答案:n = int(input())result = [0] * 1000000for i in range(2*n): a,b = input().split() a,b = int(a),int(b) for j in range(a,b): result[j] = result[j] + 1time = result.count(2)print(time)暴力检索运行超时90分:n = int(input())原创 2020-08-12 22:55:27 · 149 阅读 · 0 评论 -
201809-1 CCF认证考试 卖菜 Python版
满分答案:n = int(input())price = [0 for i in range(n)]price = input().split()price_new = []for i in range(n): if i == 0: a = int((int(price[i]) + int(price[i+1])) / 2) price_new.append(a) elif i == n-1: a = int((int(pri..原创 2020-08-12 21:41:55 · 140 阅读 · 0 评论 -
201812-2 CCF认证考试 小明放学 Python版
这道题首先要解决轮数问题用取余来做,然后在每种情况下判断灯的变化,情况为未转灯,转红灯,转绿灯,转黄灯ps:这一道题要用到第一题小明上学的条件:灯的变化红->绿->黄满分答案:r,y,g = input().split()r,y,g = int(r),int(y),int(g)n = int(input())light_begin = [[0 for i in range(2)] for j in range(n)]time = 0for i in range(n):..原创 2020-08-11 22:21:58 · 219 阅读 · 0 评论 -
201812-1 CCF认证考试 小明上学 Python版
满分答案:r,y,g = input().split()r,y,g = int(r),int(y),int(g)n = int(input())light = [[0 for i in range(2)] for j in range(n)]time = 0for i in range(n): light[i] = input().split() if int(light[i][0]) == 0 or int(light[i][0]) == 1: time = time + in..原创 2020-08-11 20:39:02 · 215 阅读 · 0 评论 -
201903-2 CCF认证考试 二十四点 Python版
第一题小中大第二题:满分答案:N = input()N = int(N)F = [0 for i in range(N)]result_all = []for i in range(N): F[i] = input() a = F[i] F[i] = a.replace("/","//").replace("x","*") result = eval(F[i]) if result == 24: result_all.append("Yes") else: re原创 2020-08-07 17:42:32 · 150 阅读 · 0 评论 -
201903-1 CCF认证考试 小中大 Python版
满分答案:N = input()N = int(N)num = [0 for i in range(N)]num = input().split()mid = 0for i in range(N): num[i] = int(num[i])num.sort()if N%2 == 0: mid = (num[int(N/2)-1] + num[int(N/2)]) / 2else: mid = num[int((N+1)/2) - 1]if mid > int(mid)..原创 2020-08-07 16:54:07 · 191 阅读 · 0 评论 -
201909-2 CCF认证考试 小明种苹果(续)Python版
第一题:小明种苹果第二题:这道题个人认为难点在第一:如何将除第一行外数据存储,第二:苹果数要用最后一个正整数减去正整数后面的,这一点怎么判断,第三相邻的判断我的解决方法:第一:用多维数组,第二开始用第一个统计的减,然后判断当有了新的正整数进行替换再接着减,第三,将掉落苹果的树标签存入数组即可直接判断ps:这道题有一个坑就是一棵树可能不止一次掉落,所以需要加一个判断条件不然就只有50分满分答案:N = input()N = int(N)apple = [[0] for i i原创 2020-08-07 02:08:11 · 253 阅读 · 0 评论 -
201909-1 CCF认证考试 小明种苹果Python版
这道题我用了一个M+1维数组apple来存放1+i行的输入,用一个一维数组drop_apple来存放每棵树掉落的苹果数,这里要注意数组下标是从0开始的,而最后要输出的苹果数编号是从1开始的,所以求得drop_apple中最大数的下标后输出需要加一。至于剩下苹果总数在每次循环先加上第一项再减去后面每一项就好了,思路还是很简单的。下面为我自己的满分代码:N,M = map(int,input().split())apple = [[0 for i in range(M+1)] for j in ra..原创 2020-08-05 22:34:29 · 360 阅读 · 0 评论 -
201912-2 CCF认证考试 回收站选址 Python版
满分(100)答案:n = input()n = int(n)point = [[0 for i in range(2)] for j in range(n)]score_0 = 0score_1 = 0score_2 = 0score_3 = 0score_4 = 0for i in range(n): x,y = input().split() x,y = int(x),int(y) point[i][0]=x point[i][1]=yfor i in range(..原创 2020-08-03 21:31:19 · 140 阅读 · 0 评论 -
201912-1 CCF认证考试 Python版 报数
n=input()n=int(n)skip=[0,0,0,0]count=0j=1while (count != n): if (j%7==0) or ('7' in str(j)) : m=j%4-1 skip[m]=skip[m]+1 else: count=count+1 j=j+1for k in skip: print(k)100分原创 2020-07-31 18:41:48 · 165 阅读 · 0 评论 -
202006-2 CCF认证考试 Python版 稀疏向量
这个题思路很简单但博主至今没有找到Python100分的答案,(想到办法后再更新也希望有小伙伴找到后可以分享一下)我尝试了数组和字典两种方法,都运行超时,数组的30分,字典的60分,代码如下:# 使用数组,运行超时30分n,a,b=input().split()n,a,b=int(n),int(a),int(b)value_1=[]value_2=[]index_1=[]index_2=[]re=0for i in range(a): i_1,v_1=input().split(原创 2020-07-30 21:49:43 · 557 阅读 · 17 评论 -
202006-1 CCF认证考试Python版线性分类器
我的思路是当A类大于0添加1,小于0添加0,B类反之,之后根据数组a里面是否为一种元素判断。100分n,m=input().split()n,m=int(n),int(m)X=[]Y=[]T=[]O_1=[]O_2=[]O_3=[]r=[]re=8for i in range(n): x,y,t=input().split() x,y=int(x),int(y) t=str(t) X.append(x) Y.append(y) T.append(t)for j in原创 2020-07-30 21:44:14 · 420 阅读 · 0 评论