hdoj5671 交換行 列

2021-07-11 10:43:55 字數 1104 閱讀 7627

對於交換行、交換列的操作,分別記錄當前狀態下每一行、每一列是原始陣列的哪一行、哪一列即可。

對每一行、每一列加乙個數的操作,也可以兩個陣列分別記錄。注意當交換行、列的同時,也要交換增量陣列。

輸出時通過索引找到原矩陣中的值,再加上行、列的增量。

複雜度o(q+mn)

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

using

namespace

std;

typedef

long

long ll;

using

namespace

std;

#define inf 0x3f3f3f3f

#define n 1010

int a[n][n];

int ans[n][n];

int xh[n],h[n];

int xl[n],l[n];

int main()

memset(xh,0,sizeof(xh));

memset(xl,0,sizeof(xl));

for(int i=1;i<=n;i++)

h[i]=i;

for(int i=1;i<=m;i++)

l[i]=i;

int k,x,y;

for(int i=0;iscanf("%d%d%d",&k,&x,&y);

if(k==1)

else

if(k==2)

else

if(k==3)

else

if(k==4)

}for(int i=1;i<=n;i++)

}for(int i=1;i<=n;i++)

printf("\n");}}

return

0;}

矩陣交換行

問題描述 在main函式中,生成乙個5 5的矩陣,輸入矩陣資料,並輸入n,m的值。判斷n,m是否在陣列範圍內,如果不在,則輸出error 如果在範圍內,則將n行和m行交換,輸出交換n,m後的新矩陣。輸入 5 5矩陣的資料,以及n和m的值。輸出 如果不可交換,則輸出error 如果可交換,則輸出新矩陣...

矩形交換行

描述 給定乙個5 5的矩陣 數學上,乙個r c的矩陣是乙個由r行c列元素排列成的矩形陣列 將第n行和第m行交換,輸出交換後的結果。輸入輸入共6行,前5行為矩陣的每一行元素,元素與元素之間以乙個空格分開。第6行包含兩個整數m n,以乙個空格分開。1 m,n 5 輸出輸出交換之後的矩陣,矩陣的每一行元素...

矩陣交換行

給定乙個5 5的矩陣 數學上,乙個r c的矩陣是乙個由r行c列元素排列成的矩形陣列 將第n行和第m行交換,輸出交換後的結果。輸入共6行,前5行為矩陣的每一行元素,元素與元素之間以乙個空格分開。第6行包含兩個整數m n,以乙個空格分開。1 m,n 5 輸出交換之後的矩陣,矩陣的每一行元素佔一行,元素之...