BestCoder Round \ # 81 (div. 2) - Matrix (시 뮬 레이 션)
Accepts: 214
Submissions: 1115
Time Limit: 3000/1500 MS (Java/Others)
Memory Limit: 131072/131072 K (Java/Others)
문제 설명
n m (1≤n≤1000,1≤m≤1000), q (1≤q≤100,000) :
1 x y: M x y (1≤x,y≤n);
2 x y: M x y (1≤x,y≤m);
3 x y: M x y(1≤x≤n,1≤y≤10,000);
4 x y: M x y(1≤x≤m,1≤y≤10,000);
입력 설명
. T(1≤T≤15), . :
3 n, m, q.
n , m , M。(1≤Mi,j≤10,000),(1≤i≤n,1≤j≤m).
q , a(1≤a≤4), x, y。
출력 설명
, q M。
입력 샘플
2
3 4 2
1 2 3 4
2 3 4 5
3 4 5 6
1 1 2
3 1 10
2 2 2
1 10
10 1
1 1 2
2 1 2
출력 샘플
12 13 14 15
1 2 3 4
3 4 5 6
1 10
10 1
Hint
scanf / printf cin / cout
:
, , , ! , Wa , swap , 。
Matrix
、 , 、 、 。
、 , 。 、 , 。
, 、 。
O(q+mn)
AC :
#include<iostream>
#include<algorithm>
#include<cstring>
#include<string>
#include<vector>
using namespace std;
typedef long long ll;
#define T 1000 + 50
#define inf 0x3f3f3f3f
struct jz
{
int M[T][T];
int row[T][2],col[T][2];
};
jz p;
int main()
{
#ifdef zsc
freopen("input.txt","r",stdin);
#endif
int n,m,q,i,j,k,t;
scanf("%d",&t);
while(t--)
{
scanf("%d%d%d",&n,&m,&q);
for(i=1;i<=n;++i){
for(j=1;j<=m;++j){
p.row[i][0] = i;p.row[i][1] = 0;
p.col[j][0] = j;p.col[j][1] = 0;
scanf("%d",&p.M[i][j]);
}
}
int c,x,y;
while(q--)
{
scanf("%d%d%d",&c,&x,&y);
if(c==1){
swap(p.row[x][0],p.row[y][0]);
}
else if(c==2){
swap(p.col[x][0],p.col[y][0]);
}
else if(c==3){
p.row[p.row[x][0]][1] += y;
}
else {
p.col[p.col[x][0]][1] += y;
}
}
for(i=1;i<=n;++i){
for(j=1;j<=m;++j){
printf("%d",p.M[p.row[i][0]][p.col[j][0]]
+p.row[p.row[i][0]][1]+p.col[p.col[j][0]][1]);
if(j!=m)printf(" ");
}
printf("
");
}
}
return 0;
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
아 날로 그 예약 프로그램 (운전면허 시험)최근 한 달 넘 게 주말 내 내 차 를 연습 하 느 라 바쁘다.전에 시 뮬 레이 터 를 한 번 예 약 했 는데 갑자기 일이 생 겨 서 못 갔 어 요.다시 예약 하려 면 3 주 후에 줄 을 서 야 합 니 다.그래서 어...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.