BestCoder Round #81 (div.2) B Matrix
2024-10-13 01:06:48
B题。。。水题,记录当前行是由原矩阵哪行变来的。
#include<cstdio>
#include<cstring>
#include<cstdlib>
#include<iostream>
#include<queue>
#include<stack>
#include<cmath>
#include<algorithm>
#include<malloc.h>
using namespace std;
#define clc(a,b) memset(a,b,sizeof(a))
#define inf 0x3f3f3f3f
const int N=;
#define LL long long
const double eps = 1e-;
const double pi = acos(-);
int g[][];
inline int r(){
int x=,f=;char ch=getchar();
while(ch>''||ch<''){if(ch=='-') f=-;ch=getchar();}
while(ch>=''&&ch<=''){x=x*+ch-'';ch=getchar();}
return x*f;
} int lx[],ly[]; int main(){
int T;
// scanf("%d",&T);
T=r();
while(T--){
int n,m,q;
// scanf("%d%d%d",&n,&m,&q);
n=r(),m=r(),q=r();
for(int i=;i<=n;i++){
for(int j=;j<=m;j++){
g[i][j]=r();
}
}
for(int i=;i<=n;i++)
lx[i]=i;
for(int j=;j<=m;j++)
ly[j]=j;
while(q--){
int a,x,y;
a=r(),x=r(),y=r();
if(a==){
int a=lx[x];int b=lx[y];
lx[x]=b,lx[y]=a;
}
else if(a==){
int a=ly[x];int b=ly[y];
ly[x]=b,ly[y]=a;
}
else if(a==){
for(int i=;i<=m;i++)
g[lx[x]][i]+=y;
}
else {
for(int i=;i<=n;i++){
g[i][ly[x]]+=y;
}
}
}for(int i=;i<=n;i++){
for(int j=;j<=m;j++){
if(j==)
printf("%d",g[lx[i]][ly[j]]);
else printf(" %d",g[lx[i]][ly[j]]);
}
printf("\n");
}
}
return ;
}
最新文章
- iOS系统tabbar图标出现重影问题
- ASP.NET&#160; &#160; 实现301状态重定向 实现搜索引擎友好
- Atitit 词法分析器的设计最佳实践说明attilax总结
- 第18章 图元文件_18.2 增强型图元文件(emf)(2)
- 导入.pch文件
- UVA116Unidirectional TSP(DP+逆推)
- easyui datagrid使用
- win10系统的点评
- VS2010 /VC/bin/rcdll.dll 无法找到资源编译器
- sql server 2016 management studio没有的解决方式
- eclipse 安装egit 成功后Team中没有显示
- printf 输出格式
- HDU-4405 Aeroplane chess
- POJ 1458-Common Subsequence(线性dp/LCS)
- C89, C99, C11: All the specifics that I know
- 解决MVC模型验证在IE 6 7下不起作用或者报错
- zoj 2022
- 与二叉树有关的编程题的Java代码实现
- 第七届蓝桥杯大赛个人赛决赛(软件类C语言B组)第一题:一步之遥
- C++与java中的赋值操作符