题解:P12456 [JOI2025 预选赛 R2] 纸带

· · 题解

题目传送门

分析

简单模拟题。

在实现时将 q_k1 时和 q_k2 时别对应操作模拟即可。

$2.$ $$q_k =2$$,将题意描述的要被遮蔽的点挨个将其记录为被遮蔽即可。 # AC Code ```cpp #include<bits/stdc++.h> #define int long long #define ull unsigned long long #define N 510 using namespace std; inline long long read() { long long x=0,f=1;char ch=getchar(); while (ch<'0'||ch>'9'){if (ch=='-') f=-1;ch=getchar();} while (ch>='0'&&ch<='9'){x=x*10+ch-48;ch=getchar();} return x*f; } int a[N][N],n,m,q,vis[N][N]; signed main(){ n=read();m=read();q=read(); while(q--) { int op,x,y,c; op=read(); if(op==1) { x=read();y=read();c=read(); if(vis[x][y]!=-1) a[x][y]=c; if(vis[x+1][y]!=-1) a[x+1][y]=c; if(vis[x][y+1]!=-1) a[x][y+1]=c; if(vis[x+1][y+1]!=-1) a[x+1][y+1]=c; } else { x=read();y=read(); vis[x][y]=vis[x+1][y]=vis[x][y+1]=vis[x+1][y+1]=-1; } } for(int i=1;i<=n;i++) { for(int j=1;j<=m;j++) { printf("%lld ",a[i][j]); } printf("\n"); } return 0; } ```