当前位置: 首页 > news >正文

睿抗CAIP编程技能

目录

1

2

3

4

5


感觉cy弄这个PAT平台上的比赛,像天梯和这个CAIP,考验的主要是你的模拟能力和你的膀胱,之前天梯很多用模拟做,但是卡了很多py的小点

1

简单模拟题

N=int(input())for _ in range(N):M,D,C=map(int,input().split())if M>=8:print('Too late!')continueif M==7 and D>=12:print('Too late!')continueif M==7 or M==6 and D>20:if C==2000:print('Ok!')elif C<2000:print('Need more!')else:print('^_^')continueif C==1800:print('Ok!')elif C<1800:print('Need more!')else:print('^_^')

2

简单模拟题

T=int(input())for _ in range(T):N,S=map(int,input().split())R=[0]*NC=[0]*Ncnt=0su=0for i in range(N):R[i],C[i]=map(int,input().split())if R[i]==1:cnt+=1su+=C[i]a=0if cnt>=N/2:a=1b=0if su>=S+50:b=1print(a,b)

3

模拟题,主要就是对地图状态的更改以及新状态的判断

M,N,S=map(int,input().split())m2=2*M-1
n2=2*N-1b=[[0]*m2 for _ in range(n2)]idx=[]sc=[0]*2def f(p,x,y):global scscf=0#print(p,x,y)if x>=1 and y>=2 and x%2 and x+1<=m2-1 and b[x][y-1]==0:if b[x-1][y-1]==1 and b[x][y-2]==1 and b[x+1][y-1]==1:b[x][y-1]=1sc[p]+=1scf=1#print('zuo')if x>=2 and y>=1 and y%2 and y+1<=n2-1 and b[x][y-1]==0:if b[x-1][y-1] and b[x-2][y] and b[x-1][y+1]:b[x-1][y]=1sc[p]+=1scf=1#print('shang')if x<=m2-2 and y<=n2-3 and x%2 and x-1>=0 and b[x][y+1]==0:if b[x-1][y+1] and b[x][y+2] and b[x+1][y+1]:b[x][y+1]=1sc[p]+=1scf=1#print('you')if y<=n2-2 and x<=m2-3 and y%2 and y-1>=0 and b[x+1][y]==0:if b[x+1][y-1] and b[x+2][y] and b[x+1][y+1]:b[x+1][y]=1sc[p]+=1scf=1#print('xia')return scfnp=0
for i in range(S):p,x1,y1,x2,y2=map(int,input().split())if p!=np:idx.append(i+1)continueprint(i+1,' ',x1,y1,x2,y2)if 1<=x1<=M and 1<=y1<=N and 1<=x2<=M and 1<=y2<=N:if x1==x2:if y2==y1+1:if b[x1*2-2][2*y2-3]==1:idx.append(i+1)continueb[x1*2-2][2*y2-3]=1if not f(p,x1*2-2,2*y2-3):np=not npelif y1==y2+1:if b[x1*2-2][2*y1-3]==1:idx.append(i+1)continueb[x1*2-2][2*y1-3]=1if not f(p,x1*2-2,2*y1-3):np=not npelse:idx.append(i+1)elif y1==y2:if x2==x1+1:if b[x2*2-3][y1*2-2]==1:idx.append(i+1)continueb[x2*2-3][y1*2-2]=1if not f(p,x2*2-3,y1*2-2):np=not npelif x1==x2+1:if b[x1*2-3][y1*2-2]==1:idx.append(i+1)continueb[x1*2-3][y1*2-2]=1if not f(p,x1*2-3,y1*2-2):np=not npelse:idx.append(i+1)else:idx.append(i+1)else:idx.append(i+1)for j in b:print(*j)print()if not idx:print(-1)
else:print(*idx)if sc[0]>sc[1]:print(0,sc[0])
else:print(1,sc[1])

4

题目我没仔细看,我先做的5结果后面想上厕所就没做,好像是暴搜找负环

好像输出 n-2 能薅个7分,这就是ioi

5

我用的BFS

N,M=map(int,input().split())ma=[[0] for i in range(N)]for i in range(N):ma[i]=list(map(int,input()))d0=[[-2,0,2],[0,-2,1],[1,0,2],[0,1,1]]
d1=[[0,-1,0],[-1,0,1],[0,2,0],[1,0,1]]
d2=[[0,-1,2],[-1,0,0],[0,1,2],[2,0,0]]from collections import deque
def bfs(x0,y0,s0):sta=tuple([x0,y0,s0])q=deque([sta])vis={sta:0}while q:now=q.pop()cur=vis[now]x,y,s=nowif s==0:for dx,dy,ns in d0:nx,ny=x+dx,y+dyif 0<=nx<N and 0<=ny<M:if ma[nx][ny]==0:continue'''if ma[nx][ny]==3 and ns==0:return cur+1'''key=tuple([nx,ny,ns])if key not in vis:vis[key]=cur+1q.append(key)elif s==1:for dx,dy,ns in d1:nx,ny=x+dx,y+dyif 0<=nx<N and 0<=ny<M:if ma[nx][ny]==0 or ns==0 and ma[nx][ny]==2:continueif ns==1 and ny+1<M and ma[nx][ny+1]==0:continueif ma[nx][ny]==3 and ns==0:return cur+1key=tuple([nx,ny,ns])if key not in vis:vis[key]=cur+1q.append(key)elif s==2:for dx,dy,ns in d2:nx,ny=x+dx,y+dyif 0<=nx<N and 0<=ny<M:if ma[nx][ny]==0 or ns==0 and ma[nx][ny]==2:continueif ns==2 and nx+1<N and ma[nx+1][ny]==0:continueif ma[nx][ny]==3 and ns==0:return cur+1key=tuple([nx,ny,ns])if key not in vis:vis[key]=cur+1q.append(key)return -1Q=int(input())for _ in range(Q):xk,yk,sk=map(int,input().split())print(bfs(xk-1,yk-1,sk))print()

http://www.dtcms.com/a/276502.html

相关文章:

  • AI 助力编程:Cursor Vibe Coding 场景实战演示
  • js二维数组如何变为一维数组
  • 数位动态规划详解
  • 顺序队列和链式队列
  • 淘宝商品评论API接口使用指南
  • 【C#】GraphicsPath的用法
  • Filament引擎(三) ——引擎渲染流程
  • Windows安装SSH
  • python库之jieba 库
  • 当大模型遇见毫米波:用Wi-Fi信号做“透视”的室内语义SLAM实践——从CSI到神经辐射场的端到端开源方案
  • 【Scratch】从入门到放弃(五):指令大全-九大类之运算、变量、自制积木
  • 下雨天的思考
  • 2025 XYD Summer Camp 7.10 筛法
  • Fusion: 无需路径条件的路径敏感分析
  • 端到端自动驾驶:挑战与前沿
  • Redis数据类型之set
  • 巅峰对决:文心4.5 vs DeepSeek R1 vs 通义Qwen3.0——国产大模型技术路线与场景能力深度横评
  • flowable或签历史任务查询
  • C++ Primer(第5版)- Chapter 7. Classes -001
  • 基于Java Web的二手房交易系统开发与实现
  • 利用docker部署前后端分离项目
  • 【QT】多线程相关教程
  • Linux中使用快捷方式加速SSH访问
  • 通俗范畴论13 鸡与蛋的故事番外篇
  • 2D转换之缩放scale
  • 《P2052 [NOI2011] 道路修建》
  • JavaScript:移动端特效--从触屏事件到本地存储
  • (LeetCode 面试经典 150 题 )3. 无重复字符的最长子串 (哈希表+双指针)
  • 两数之和 https://leetcode.cn/problems/two-sum/description/
  • 基于hugo的静态博客站点部署