⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 pku2339.cpp

📁 这是ACM 方面的资料 是PKU的 北京大学的出来的
💻 CPP
字号:
#include <stdio.h>
#include <stdlib.h>

char Map[101][101];
char Map2[101][101];

int r, c, n;

int cmp(char a, char b)
{
	int dis;
	dis = a - b;
	if (dis != 3 && dis != -3)
	{
		dis = -dis;
	}
	if (dis > 0)
	{
		return 1;
	}
	else if (dis < 0)
	{
		return -1;
	}
	return 0;
}

void calc()
{
	int i, j;
	while (n--)
	{
		for (i = 0; i < r; i++)
		{
			for (j = 0; j < c; j++)
			{
				Map2[i][j] = '.';
			}
		}
		for (i = 0; i < r; i++)
		{
			for (j = 0; j < c; j++)
			{
				if (i + 1 < r && Map[i][j] != Map[i + 1][j])
				{
					if (cmp(Map[i][j], Map[i + 1][j]) > 0)
					{
						Map2[i + 1][j] = Map[i][j];
					}
					else
					{
						Map2[i][j] = Map[i + 1][j];
					}
				}
				if (j + 1 < c && Map[i][j] != Map[i][j + 1])
				{
					if (cmp(Map[i][j], Map[i][j + 1]) > 0)
					{
						Map2[i][j + 1] = Map[i][j];
					}
					else
					{
						Map2[i][j] = Map[i][j + 1];
					}
				}
			}
		}
		for (i = 0; i < r; i++)
		{
			for (j = 0; j < c; j++)
			{
				if (Map2[i][j] != '.')
				{
					Map[i][j] = Map2[i][j];
				}
			}
		}
	}
}

int main()
{
	int T, i, j;
	scanf("%d", &T);

	while (T--)
	{
		scanf("%d%d%d", &r, &c, &n);
		for (i = 0; i < r; i++)
		{
			scanf("%s", Map[i]);
		}
		calc();
		for (i = 0; i < r; i++)
		{
			printf("%s\n", Map[i]);
		}
		printf("\n");
	}
	return 0;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -