我觉得我的理解没有问题啊!
#include <bits/stdc++.h>
using namespace std;
ll n, m, q;
ll a[1001];
ll f[1001][1001];
int main() {
cin >> n >> m >> q;
for (ll i = 1; i <= n; i++)
{
cin >> a[i];
}
for (ll i = 1; i <= n; i++)
{
ll cnt = a[i];
for (ll j = m; j >= 1; j--)
{
f[i][j] = cnt % 10;
cnt /= 10;
}
}
while (q--)
{
ll opt, x, y;
cin >> opt >> x >> y;
if (opt == 1)
{
if (x == y) continue;
for (ll i = 1; i <= m; i++)
{
swap(f[x][i], f[y][i]);
}
}
else if (opt == 2)
{
if (x == y) continue;
for (ll i = 1; i <= n; i++)
{
swap(f[i][x], f[i][y]);
}
}
else if (opt == 3)
{
cout << f[x][y] << endl;
}
}
for (ll i = 1; i <= n; i++)
{
for (ll j = 1; j <= m; j++)
{
cout << f[i][j];
}
cout << endl;
}
return 0;
}