入门赛 H 题
  • 板块学术版
  • 楼主JMCJimmyMaker
  • 当前回复6
  • 已保存回复6
  • 发布时间2024/6/14 21:06
  • 上次更新2024/6/14 21:13:33
查看原帖
入门赛 H 题
775490
JMCJimmyMaker楼主2024/6/14 21:06

我觉得我的理解没有问题啊!

#include <bits/stdc++.h> 
using namespace std;
//variables and structions
ll n, m, q;
ll a[1001];
ll f[1001][1001];
//functions

//main function
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;
		}
	}
	// for (int i = 1; i <= n; i++)
	// {
	// 	for (int j = 1; j <= m; j++)
	// 	{
	// 		cout << f[i][j] << " ";
	// 	}
	// 	cout << endl;
	// }
	while (q--)
	{
		ll opt, x, y;
		cin >> opt >> x >> y;
		// if (x == y && opt != 3) continue;
		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;
}

2024/6/14 21:06
加载中...