河南建筑业城乡建设网站查询外贸网站如何做的好
洛谷题单,蓝桥备赛
题单链接
未完待续… 预计 2025年2月26日 前完成
目录
- 进度
- 题解与碎碎念
- P1042 [NOIP 2003 普及组] 乒乓球
- 题面
- 小结
- ac代码
- P2670 [NOIP 2015 普及组] 扫雷游戏
- 题面
- 小结
- ac代码
- 题
- 题面
- 小结
- ac代码
- 题
- 题面
- 小结
- ac代码
进度
【2025年2月19日19点33分】写了前俩,歇了
题解与碎碎念
P1042 [NOIP 2003 普及组] 乒乓球
题面
原题链接
小结
- 读入处理的一般(蒟蒻刚从C++转python,见谅)
- 输出处理的很
冗余丑陋(勉强能满足输出条件) - 为什么一定要匹配
W L E
,用else
死了一半
槽点/易错点:
- 最后一个数据点,在匹配E,
0:0
也是要输出的,亏我多虑卡 90(我恨 - 考虑只有
E
的情况 - (可能需要考虑)没有E,用字符串末尾控制结束,我用的是把
input_data
的\n
都替换成空,数它的length
ac代码
import sysinput_data = sys.stdin.read()
input_data = input_data.replace("\n", "")def WorL(n):Wcount, Lcount = 0, 0head = 1length = len(input_data)# print(f"length= {length}")for index, char in enumerate(input_data):# print(f'idx= {index}')# print(char)if char == "E":if head == 1:print(f"{Wcount}:{Lcount}", end="")else:# 槽点1,意思是这里不用判断是不是0:0从而不输出print(f"\n{Wcount}:{Lcount}", end="")breakelif char == "W":Wcount += 1elif char == "L":Lcount += 1if index == length - 1:if head == 1:print(f"{Wcount}:{Lcount}", end="")else:if not(Wcount == 0 and Lcount == 0):print(f"\n{Wcount}:{Lcount}", end="")breakif max(Wcount, Lcount) >= n and abs(Wcount - Lcount) >= 2:if head == 1:print(f"{Wcount}:{Lcount}", end="")head = 0else:print(f"\n{Wcount}:{Lcount}", end="")Wcount, Lcount = 0, 0WorL(11)
print("\n")
WorL(21)
P2670 [NOIP 2015 普及组] 扫雷游戏
题面
原题链接
小结
ez(就是python不熟悉,写的有点累
ac代码
import sysfirstLine = sys.stdin.readline().strip()
N, M = map(int, firstLine.split())mineFiled = []for _ in range(N):line = sys.stdin.readline().strip()mineFiled.append(line)for i in range(N):mineFiled[i] = '?' + mineFiled[i] + '?'addRow = '?' * (M + 2)
mineFiled.insert(0, addRow)
mineFiled.append(addRow)ans = [[0] * M for _ in range(N)]def sumRegion(I, J, matrix):# print(matrix)sum = 0for i in range(I - 1, I + 2):for j in range(J - 1, J + 2):# print(f'i= {i}, j= {j}')if matrix[i][j] == '?':sum += 1return 9 - sumfor i in range(1, N + 1):# print(mineFiled[i])for j in range(1, M + 1):if mineFiled[i][j] == '?':# print(f'__i= {i}, j= {j}')ans[i - 1][j - 1] = sumRegion(i, j, mineFiled)else:ans[i - 1][j - 1] = -1# print(ans)for i in range(0, N):for j in range(0, M):if ans[i][j] == 0-1:print("*", end="")else:print(ans[i][j], end="")print("")