题解:P12209 [蓝桥杯 2023 国 Python B] 交易账本
Lele_Programmer · · 题解
P12209 题解
思路
记交易编号为
每一次处理输入的时候,如果
至此,如果合法,那么来处理交易输出,读入用户的
处理完输出,如果已经
代码
const int N=105;
const int M=1005;
int T,n,m;
int d[M][N];
bool g[M][N];
int main() {
read(T);
while (T--) {
memset(d,0,sizeof(d));
memset(g,0,sizeof(g));
read(n),read(m);
bool yes=true;
_rep(i,0,m-1) {
int inc;
read(inc);
bool flag=false;
bool ok=true;
int add=0;
_rep(j,0,inc-1) {
int id,num;
read(id),read(num);
if (!~id && !~num) flag=true;
else if (id<i && !g[id][num]) add+=d[id][num],g[id][num]=true;
else ok=false;
}
if (!ok) yes=false;
int ouc;
read(ouc);
_rep(j,0,ouc-1) {
int acc,val;
read(acc),read(val);
add-=val,d[i][j]=val;
}
if (flag) continue;
if (add!=0) yes=false;
}
if (yes) puts("YES");
else puts("NO");
}
return 0;
}