
CSP刷题
小王日记hh
这个作者很懒,什么都没留下…
展开
-
CSP-I’m stuck!(Python实现100分)
问题描述 给定一个R行C列的地图,地图的每一个方格可能是'#', '+', '-', '|', '.', 'S', 'T'七个字符中的一个,分别表示如下意思: '#': 任何时候玩家都不能移动到此方格; '+': 当玩家到达这一方格后,下一步可以向上下左右四个方向相邻的任意一个非'#'方格移动一格; '-': 当玩家到达这一方格后,下一步可以向左右两个方向相邻的一个非'#'方格移动一格; '|': 当玩家到达这一方格后,下一步可以向上下两个方向相邻的一个非'#'方格移动一格; '.'原创 2020-12-09 12:57:22 · 312 阅读 · 0 评论 -
CSP-小明种苹果(续)Python实现100分
主要就是注意统计连续三棵树都发生掉落的数量时要考虑和最后俩颗树连续的是第一颗和第二棵树,其他没什么,代码中都有注释。测试数据:44 74 -7 -12 -55 73 -8 -6 59 -45 76 -5 -10 60 -25 80 -6 -15 59 0N = int(input())# 剩余苹果总数T = 0# 发生掉落的苹果树的数量D = 0# 连续三棵树发生掉落的数量E = 0# 用来记录每颗苹果树是否发生掉落record = []for _ in range(N):原创 2020-11-30 21:28:52 · 291 阅读 · 0 评论 -
CSP-小明种苹果Python实现(100分)
测试数据:测试数据:3 373 -8 -6 -476 -5 -10 -880 -6 -15 02 210 -3 -115 -4 0代码:N,M = map(int,input().split())# 记录每棵树的疏果数nums = []# 记录苹果总数sum = 0for i in range(N): temp = list(map(int,input().split())) # 当前树上的苹果总数 current_sum = temp[0]原创 2020-11-29 21:55:53 · 458 阅读 · 0 评论 -
CSP-回收站选址Python实现(100分)
思路:初始化一个大小为5值都为0的列表,用来存放不同分数的垃圾点的数量,然后遍历所有的点,先判断这个点是不是垃圾站点,如果是的话再计算它的分数,判断是不是垃圾站点就是判断一下这个点的上下左右位置是否都在输入的那些点中(可以将那些点的位置都保存为list形式[x,y]然后用 in 或者not in 判断),如果上下左右四个位置都在的话则这个点是垃圾点,再计算它的分数,跟前面类似只不过是看的是这个点的左上、左下、右上、右下四个位置,有一个位置在这个垃圾点的分数就加一。测试数据: 数据71 22 10原创 2020-11-29 21:11:47 · 365 阅读 · 0 评论 -
CSP-稀疏向量Python实现100分
测试数据: 测试数据 10 3 4 4 5 7 -3 10 1 1 10 4 20 5 30 7 40代码:n,a,b = map(int,input().split())# 将俩个向量的非0部分的位置和值分别放入字典中,以位置作为keymap_a = {}map_b = {}for _ in range(a): ind,val = map(int,i原创 2020-11-29 17:45:24 · 265 阅读 · 0 评论 -
CSP-风险人群筛查Python实现(100分)
n,k,t,xl,yd,xr,yw = map(int,input().split())sites = []for i in range(n): sites.append(list(map(int,input().split())))# 判断是否在风险区域def judge(x,y): if x>=xl and y >= yd and x <= xr and y <= yw: return True else: retu原创 2020-11-27 22:01:28 · 482 阅读 · 0 评论 -
CSP-称检测点查询Python实现
n,X,Y = map(int,input().split())# 存放每个检测点到人的距离distance = []# 存放结果集result = []for i in range(n): x,y = map(int,input().split()) # 计算的是距离的平方 d = (x-X)**2 + (y-Y)**2 distance.append(d)for i in range(3): # 获得距离最小的值的下标 ind = distan原创 2020-11-22 11:26:44 · 577 阅读 · 1 评论 -
CSP-线性分类器Python实现
问题描述:就是判断给定的直线能否将A,B俩类点分开思路:一条直线可以将俩类点分开说明其中有一类点在这条直线的上方并且另一类点在这条直线的下方。点在直线上方就是将该点坐标代入直线方程大于0,在下方就是小于0,这道题我们只需要分别记录A和B类的点在直线一方(我用的上方)的数量就行因为如果A在上方的数量等于A类点的数量并且B在直线上方的数量为0则说明该直线可以将A,B分隔开。n,m = map(int,input().split())numsA = [] # 存放A类的点numsB = [] # 存放原创 2020-11-21 19:53:41 · 486 阅读 · 0 评论 -
CSP2014092-画图Python实现
问题描述:就是将给定的矩形区域涂色,然后重复的位置只涂一次。思路:因为题目说了问题规模n<=100,所以直接创建一个100x100的二维数组,初始化值为0,将需要涂色的位置设置成1,也不需要考虑是否重叠的问题,最后统计一下二维数组中值为1的数量就行。# 初始化一个100x100的矩形区域,每个位置值为0chessboard = [[0]*100 for i in range(100)]n = int(input())index = []for i in range(n): temp原创 2020-11-19 21:57:50 · 231 阅读 · 0 评论 -
CSP-化学方程式Python实现(含输入数据)
先放输入数据:11H2+O2=H2O2H2+O2=2H2OH2+Cl2=2NaClH2+Cl2=2HClCH4+2O2=CO2+2H2OCaCl2+2AgNO3=Ca(NO3)2+2AgCl3Ba(OH)2+2H3PO4=6H2O+Ba3(PO4)23Ba(OH)2+2H3PO4=Ba3(PO4)2+6H2O4Zn+10HNO3=4Zn(NO3)2+NH4NO3+3H2O4Au+8NaCN+2H2O+O2=4Na(Au(CN)2)+4NaOHCu+As=Cs+Au思路:根据题原创 2020-11-17 11:33:38 · 1608 阅读 · 2 评论 -
CSP-小明放学Python实现(有注释)
题目背景 汉东省政法大学附属中学所在的光明区最近实施了名为“智慧光明”的智慧城市项目。具体到交通领域,通过“智慧光明”终端,可以看到光明区所有红绿灯此时此刻的状态。小明的学校也安装了“智慧光明”终端,小明想利用这个终端给出的信息,估算自己放学回到家的时间。问题描述 一次放学的时候,小明已经规划好了自己回家的路线,并且能够预测经过各个路段的时间。同时,小明通过学校里安装的“智慧光明”终端,看到了出发时刻路上经过的所有红绿灯的指示状态。请帮忙计算小明此次回家所需要的时间。输入格式 输入的第一行包原创 2020-11-14 23:22:40 · 483 阅读 · 0 评论 -
CSP-游戏Python实现
问题描述 有n个小朋友围成一圈玩游戏,小朋友从1至n编号,2号小朋友坐在1号小朋友的顺时针方向,3号小朋友坐在2号小朋友的顺时针方向,……,1号小朋友坐在n号小朋友的顺时针方向。 游戏开始,从1号小朋友开始顺时针报数,接下来每个小朋友的报数是上一个小朋友报的数加1。若一个小朋友报的数为k的倍数或其末位数(即数的个位)为k,则该小朋友被淘汰出局,不再参加以后的报数。当游戏中只剩下一个小朋友时,该小朋友获胜。 例如,当n=5, k=2时: 1号小朋友报数1; 2号小朋友报数2淘汰; 3号原创 2020-11-12 12:30:31 · 1374 阅读 · 3 评论 -
CSP-最大的矩形Python实现
问题描述 在横轴上放了n个相邻的矩形,每个矩形的宽度是1,而第i(1 ≤ i ≤ n)个矩形的高度是hi。这n个矩形构成了一个直方图。例如,下图中六个矩形的高度就分别是3, 1, 6, 5, 2, 3。 请找出能放在给定直方图里面积最大的矩形,它的边要与坐标轴平行。对于上面给出的例子,最大矩形如下图所示的阴影部分,面积是10。 输入格式 第一行包含一个整数n,即矩形的数量(1 ≤ n ≤ 1000)。 第二行包含n 个整数h1, h2, … , hn,相邻的数之间由空格分隔。(1 ≤原创 2020-11-11 12:59:16 · 691 阅读 · 0 评论 -
CSP-画图Python实现
问题描述 用 ASCII 字符来画图是一件有趣的事情,并形成了一门被称为 ASCII Art 的艺术。例如,下图是用 ASCII 字符画出来的 CSPRO 字样。 ….………_… ././.||….|……/.… |.|…_.|.|).|.|).|.|.|.| |.|.).|…/|….<|.||.| ._|/||…||._\___/. 本题要求编程实现一个用 ASCII 字符来画图的程序,支持以下两种操作: Ÿ 画线:给出两个端点的坐标,画一条连接这两个端点的线段。简便起原创 2020-11-10 21:56:53 · 645 阅读 · 2 评论 -
CSP-火车购票Python实现
问题描述 请实现一个铁路购票系统的简单座位分配算法,来处理一节车厢的座位分配。 假设一节车厢有20排、每一排5个座位。为方便起见,我们用1到100来给所有的座位编号,第一排是1到5号,第二排是6到10号,依次类推,第20排是96到100号。 购票时,一个人可能购一张或多张票,最多不超过5张。如果这几张票可以安排在同一排编号相邻的座位,则应该安排在编号最小的相邻座位。否则应该安排在编号最小的几个空座位中(不考虑是否相邻)。 假设初始时车票全部未被购买,现在给了一些购票指令,请你处理这些指令。原创 2020-11-08 15:52:29 · 853 阅读 · 0 评论 -
CSP-工资计算Python实现
CSP工资计算Python实现基本思路使用逆推公式计算本金代码里写了一种情况的注释,之后的思想也是类似的基本思路使用逆推公式计算本金代码里写了一种情况的注释,之后的思想也是类似的n = int(input())# 如果小于3500说明没有缴税,直接输出if n <= 3500: print(n)else: # 保存每个区间缴完税之后的钱 x1 = 1500*(1-0.03) x2 = x1+(4500-1500)*(1-0.1) x3 = x2+(9原创 2020-11-07 21:30:11 · 1391 阅读 · 1 评论