L1-087 机工士姆斯塔迪奥分数20题目在 MMORPG《最终幻想14》的副本“乐欲之所瓯博讷修道院”里BOSS 机工士姆斯塔迪奥将会接受玩家的挑战。你需要处理这个副本其中的一个机制N×M 大小的地图被拆分为了 N×M 个 1×1 的格子BOSS 会选择若干行或/及若干列释放技能玩家不能站在释放技能的方格上否则就会被击中而失败。给定 BOSS 所有释放技能的行或列信息请你计算出最后有多少个格子是安全的。输入格式:输入第一行是三个整数 N,M,Q (1≤N×M≤1050≤Q≤1000)表示地图为 N 行 M 列大小以及选择的行/列数量。接下来 Q 行每行两个数 Ti​,Ci​其中 Ti​0 表示 BOSS 选择的是一整行Ti​1 表示选择的是一整列Ci​ 为选择的行号/列号。行和列的编号均从 1 开始。输出格式:输出一个数表示安全格子的数量。考点模拟思路按题意模拟即可。复杂度O(n)import sys inputsys.stdin.readline n,m,qmap(int,input().split()) a[[0]*m for _ in range(n)] for _ in range(q): t,cmap(int,input().split()) if t0: for i in range(m): a[c-1][i]1 if t1: for i in range(n): a[i][c-1]1 cnt0 for i in range(n): for j in range(m): if a[i][j]0: cnt1 print(cnt)L1-088 静静的推荐分数20题目天梯赛结束后某企业的人力资源部希望组委会能推荐一批优秀的学生这个整理推荐名单的任务就由静静姐负责。企业接受推荐的流程是这样的只考虑得分不低于 175 分的学生一共接受 K 批次的推荐名单同一批推荐名单上的学生的成绩原则上应严格递增如果有的学生天梯赛成绩虽然与前一个人相同但其参加过 PAT 考试且成绩达到了该企业的面试分数线则也可以接受。给定全体参赛学生的成绩和他们的 PAT 考试成绩请你帮静静姐算一算她最多能向企业推荐多少学生考点模拟思路按分块做就行。复杂度O(n)import sys inputsys.stdin.readline n,k,smap(int,input().split()) c[] for _ in range(n): a,bmap(int,input().split()) if a175: c.append((a,b)) c.sort(keylambda x:x[0]) ans0 mlen(c) i0 while im: ji startc[i][0] ok0 no0 while jm and c[j][0]start: if c[j][1]s: ok1 else: no1 j1 ansokmin(k,no) ij print(ans)L1-089 最好的文档分数5题目有一位软件工程师说过一句很有道理的话“Good code is its own best documentation.”好代码本身就是最好的文档。本题就请你直接在屏幕上输出这句话。考点无思路直接输出。复杂度O(1)import sys inputsys.stdin.readline print(Good code is its own best documentation.)L1-090 什么是机器学习分数5题目什么是机器学习上图展示了一段面试官与“机器学习程序”的对话面试官9 10 等于多少答3面试官差远了是19。答16面试官错了是19。答18面试官不是19。答19本题就请你模仿这个“机器学习程序”的行为。考点无思路按题意输出。复杂度O(1)import sys inputsys.stdin.readline a,bmap(int,input().split()) print(ab-16) print(ab-3) print(ab-1) print(ab)L1-091 程序员买包子分数10题目这是一条检测真正程序员的段子假如你被家人要求下班顺路买十只包子如果看到卖西瓜的买一只。那么你会在什么情况下只买一只包子回家本题要求你考虑这个段子的通用版假如你被要求下班顺路买 N 只包子如果看到卖 X 的买 M 只。那么如果你最后买了 K 只包子回家说明你看到卖 X 的没有呢输入格式输入在一行中顺序给出题面中的 N、X、M、K以空格分隔。其中 N、M 和 K 为不超过 1000 的正整数X 是一个长度不超过 10 的、仅由小写英文字母组成的字符串。题目保证 NM。输出格式在一行中输出结论格式为如果 KN输出mei you mai X de如果 KM输出kan dao le mai X de否则输出wang le zhao mai X de.其中X是输入中给定的字符串 X。考点无思路按题意输出即可。import sys inputsys.stdin.readline nr,x,mr,krinput().split() nint(nr) mint(mr) kint(kr) if kn: print(fmei you mai {x} de) elif km: print(fkan dao le mai {x} de) else: print(fwang le zhao mai {x} de)L1-092 进化论分数10题目在“一年一度喜剧大赛”上有一部作品《进化论》讲的是动物园两只猩猩进化的故事。猩猩吕严说自己已经进化了 9 年了因为“三年又三年”。猩猩土豆指出“三年又三年是六年呐”……本题给定两个数字以及用这两个数字计算的结果要求你根据结果判断这是吕严算出来的还是土豆算出来的。输入格式输入第一行给出一个正整数 N随后 N 行每行给出三个正整数 A、B 和 C。其中 C 不超过 10000其他三个数字都不超过 100。输出格式对每一行给出的三个数如果 C 是 A×B就在一行中输出Lv Yan如果是 AB就在一行中输出Tu Dou如果都不是就在一行中输出zhe du shi sha ya!。考点无思路按题目输出即可。复杂度O(1)import sys inputsys.stdin.readline nint(input()) for _ in range(n): a,b,cmap(int,input().split()) if ca*b: print(Lv Yan) elif abc: print(Tu Dou) else: print(zhe du shi sha ya!)L1-093 猜帽子游戏分数15题目宝宝们在一起玩一个猜帽子游戏。每人头上被扣了一顶帽子有的是黑色的有的是黄色的。每个人可以看到别人头上的帽子但是看不到自己的。游戏开始后每个人可以猜自己头上的帽子是什么颜色或者可以弃权不猜。如果没有一个人猜错、并且至少有一个人猜对了那么所有的宝宝共同获得一个大奖。如果所有人都不猜或者只要有一个人猜错了所有宝宝就都没有奖。下面顺序给出一排帽子的颜色假设每一群宝宝来玩的时候都是按照这个顺序发帽子的。然后给出每一群宝宝们猜的结果请你判断他们能不能得大奖。输入格式输入首先在一行中给出一个正整数 N2N≤100是帽子的个数。第二行给出 N 顶帽子的颜色数字1表示黑色2表示黄色。再下面给出一个正整数 K≤10随后 K 行每行给出一群宝宝们猜的结果除了仍然用数字1表示黑色、2表示黄色之外0表示这个宝宝弃权不猜。同一行中的数字用空格分隔。输出格式对于每一群玩游戏的宝宝如果他们能获得大奖就在一行中输出Da Jiang!!!否则输出Ai Ya。考点模拟思路按题意模拟即可。复杂度O(1)import sys inputsys.stdin.readline nint(input()) alist(map(int,input().split())) mint(input()) for _ in range(m): blist(map(int,input().split())) cnt 0 okTrue for i in range(n): if a[i]b[i]: cnt1 elif a[i]!b[i] and b[i]!0: okFalse break if ok and cnt0: print(Da Jiang!!!) else: print(Ai Ya)L1-094 剪切粘贴分数15题目使用计算机进行文本编辑时常见的功能是剪切功能快捷键Ctrl X。请实现一个简单的具有剪切和粘贴功能的文本编辑工具。工具需要完成一系列剪切后粘贴的操作每次操作分为两步剪切给定需操作的起始位置和结束位置将当前字符串中起始位置到结束位置部分的字符串放入剪贴板中并删除当前字符串对应位置的内容。例如当前字符串为abcdefg起始位置为 3结束位置为 5则剪贴操作后 剪贴板内容为cde操作后字符串变为abfg。字符串位置从 1 开始编号。粘贴给定插入位置的前后字符串寻找到插入位置将剪贴板内容插入到位置中并清除剪贴板内容。例如对于上面操作后的结果给定插入位置前为bf插入位置后为g则插入后变为abfcdeg。如找不到应该插入的位置则直接将插入位置设置为字符串最后仍然完成插入操作。查找字符串时区分大小写。每次操作后的字符串即为新的当前字符串。在若干次操作后请给出最后的编辑结果。考点字符串思路先把剪切的地方取出来再找字符串的尾和头将剪切的字符插入。复杂度O(1)import sys inputsys.stdin.readline sinput().strip() nint(input()) hs for _ in range(n): ar,br,c,dinput().split() aint(ar)-1 bint(br) zh[a:b] hh[:a]h[b:] pos-1 for i in range(len(h)1): if h[:i].endswith(c) and h[i:].startswith(d): posi break if pos-1: hhz else: hh[:pos]zh[pos:] print(h)L1-095 分寝室分数20题目学校新建了宿舍楼共有 n 间寝室。等待分配的学生中有女生 n0​ 位、男生 n1​ 位。所有待分配的学生都必须分到一间寝室。所有的寝室都要分出去最后不能有寝室留空。现请你写程序完成寝室的自动分配。分配规则如下男女生不能混住不允许单人住一间寝室对每种性别的学生每间寝室入住的人数都必须相同例如不能出现一部分寝室住 2 位女生一部分寝室住 3 位女生的情况。但女生寝室都是 2 人一间男生寝室都是 3 人一间则是允许的在有多种分配方案满足前面三项要求的情况下要求两种性别每间寝室入住的人数差最小。输入格式输入在一行中给出 3 个正整数 n0​、n1​、n分别对应女生人数、男生人数、寝室数。数字间以空格分隔均不超过 105。输出格式在一行中顺序输出女生和男生被分配的寝室数量其间以 1 个空格分隔。行首尾不得有多余空格。如果有解题目保证解是唯一的。如果无解则在一行中输出No Solution。考点模拟思路按题目模拟即可。复杂度O(n)import sys inputsys.stdin.readline a,b,nmap(int,input().split()) ks -1 js -1 z10**9 for i in range(1,n): syn-i if a%i0 and b%sy0: a1a//i b1b//sy if a12 and b12: if zabs(b1-a1): zabs(b1-a1) ksi jssy if ks-1 and js-1: print(No Solution) else: print(ks,js)L1-096 谁管谁叫爹分数20题目《咱俩谁管谁叫爹》是网上一首搞笑饶舌歌曲来源于东北酒桌上的助兴游戏。现在我们把这个游戏的难度拔高一点多耗一些智商。不妨设游戏中的两个人为 A 和 B。游戏开始后两人同时报出两个整数 NA​ 和 NB​。判断谁是爹的标准如下将两个整数的各位数字分别相加得到两个和 SA​ 和 SB​。如果 NA​ 正好是 SB​ 的整数倍则 A 是爹如果 NB​ 正好是 SA​ 的整数倍则 B 是爹如果两人同时满足、或同时不满足上述判定条件则原始数字大的那个是爹。本题就请你写一个自动裁判程序判定谁是爹。考点模拟思路看清楚题目的三个要求然后模拟即可。复杂度O(n)import sys inputsys.stdin.readline nint(input()) for _ in range(n): a,binput().split() cnta0 cntb0 for v in a: cntaint(v) for v in b: cntbint(v) fa(int(a)%cntb) fbint(b)%cnta if fa0 and not fb0: print(A) continue elif fb0 and not fa0: print(B) continue else: if int(a)int(b): print(A) continue else: print(B) continueL1-097 编程解决一切分数5题目编程解决一切 —— 本题非常简单就请你直接在屏幕上输出这句话“Problem? The Solution: Programming.”。考点无思路无复杂度O(1)print(Problem? The Solution: Programming.)L1-098 再进去几个人分数5题目数学家、生物学家和物理学家坐在街头咖啡屋里看着人们从街对面的一间房子走进走出。他们先看到两个人进去。时光流逝。他们又看到三个人出来。物理学家:“测量不够准确。”生物学家:“他们进行了繁殖。”数学家:“如果现在再进去一个人那房子就空了。”下面就请你写个程序根据进去和出来的人数帮数学家算出来再进去几个人那房子就空了。输入格式输入在一行中给出 2 个不超过 100 的正整数 A 和 B其中 A 是进去的人数B 是出来的人数。题目保证 B 比 A 要大。输出格式在一行中输出使得房子变空的、需要再进去的人数。考点无思路b-a就行。复杂度O(1)a,bmap(int,input().split()) print(b-a)L1-099 帮助色盲分数10题目在古老的红绿灯面前红绿色盲患者无法分辨当前亮起的灯是红色还是绿色有些聪明人通过路口的策略是这样的当红灯或绿灯亮起时灯的颜色无法判断但前方两米内有同向行走的人就跟着前面那人行动人家走就跟着走人家停就跟着停如果当前是黄灯那么很快就要变成红灯了于是应该停下来。麻烦的是当灯的颜色无法判断时前方两米内没有人……本题就请你写一个程序通过产生不同的提示音来帮助红绿色盲患者判断当前交通灯的颜色但当患者可以自行判断的时候例如黄灯或者前方两米内有人就不做多余的打扰。具体要求的功能为当前交通灯为红灯或绿灯时检测其前方两米内是否有同向行走的人 —— 如果有则患者自己可以判断程序就不做提示如果没有则根据灯的颜色给出不同的提示音。黄灯也不需要给出提示。考点模拟思路按题意模拟即可。import sys inputsys.stdin.readline a,bmap(int,input().split()) if a0: if b0: print(biii) print(stop) if b1: print(-) print(stop) if a1: if b0: print(dudu) print(move) if b1: print(-) print(move) if a2: print(-) print(stop)L1-100 四项全能分数10新浪微博上有一个帖子给出了一道题全班有 50 人有 30 人会游泳有 35 人会篮球有 42 人会唱歌有 46 人会骑车至少有 人四项都会。发帖人不会做这道题但是回帖有会做的每一个才艺是一个技能点一共是 30 35 42 46 153 个技能点50 个人假设平均分配每人都会 3 个技能那也只有 150所以至少有 3 人会四个技能。本题就请你写个程序来自动解决这类问题给定全班总人数为 n其中有 m 项技能分别有 k1​、k2​、……、km​ 个人会问至少有多少人 m 项都会。输入格式输入在第一行中给出 2 个正整数n4≤n≤1000和 m1m≤n/2分别对应全班人数和技能总数。随后一行给出 m 个不超过 n 的正整数其中第 i 个整数对应会第 i 项技能的人数。输出格式输出至少有多少人 m 项都会。考点数学思路按题目意思总结即可。复杂度O(1)import sys inputsys.stdin.readline n,mmap(int,input().split()) alist(map(int,input().split())) sumasum(a) print(max(0,suma-(m-1)*n))L1-008 求整数段和分数10题目给定两个整数A和B输出从A到B的所有整数以及这些数的和。输入格式输入在一行中给出2个整数A和B其中−100≤A≤B≤100其间以空格分隔。输出格式首先顺序输出从A到B的所有整数每5个数字占一行每个数字占5个字符宽度向右对齐。最后在一行中按Sum X的格式输出全部数字的和X。考点模拟思路按题意格式输出即可。复杂度O(1)import sys inputsys.stdin.readline a,bmap(int,input().split()) c[0]*(b-a1) i0 za c[0]z while z!b: z1 i1 c[i]z j0 s0 for i in range(b-a1): print(f{c[i]:5},end) sc[i] j 1 if j%50: print() if j%5!0: print() print(fSum {s})L1-009 N个数求和分数20题目本题的要求很简单就是求N个数字的和。麻烦的是这些数字是以有理数分子/分母的形式给出的你输出的和也必须是有理数的形式。输入格式输入第一行给出一个正整数N≤100。随后一行按格式a1/b1 a2/b2 ...给出N个有理数。题目保证所有分子和分母都在长整型范围内。另外负数的符号一定出现在分子前面。输出格式输出上述数字和的最简形式 —— 即将结果写成整数部分 分数部分其中分数部分写成分子/分母要求分子小于分母且它们没有公因子。如果结果的整数部分为0则只输出分数部分。考点模拟思路通分的时候用的是最小公倍数因为要所有分母可以都得到一个相同的数并且为了好算于是就取最小公倍数。约分的时候分了约的最小于是选取最大公因数。复杂度O(1)import math import sys inputsys.stdin.readline nint(input()) alist(input().split()) b[] g1 for i in range(n): c,da[i].split(/) b.append((c,d)) gg*int(d)//math.gcd(g,int(d)) s0 for fz,fm in b: csg//int(fm) sint(fz)*cs zhmath.gcd(abs(s),g) fzs//zh fmg//zh if fz0: print(0) else: s if fz0: s- fzabs(fz) zsfz//fm ysfz%fm if ys0: print(f{s}{zs}) elif zs0: print(f{s}{ys}/{fm}) else: print(f{s}{zs} {ys}/{fm})