为甚么有的样例能过有的不能。。。
查看原帖
为甚么有的样例能过有的不能。。。
209721
anata楼主2023/1/10 17:44
#include<iostream>
#include<string>
#include<math.h>
using namespace std;
bool mp[105][105];
int main()
{
	char ch;
	int r, c;
	cin >> r >> c;
	for(int i=1;i<=r;i++)
		for (int j = 1; j <= c; j++)
		{
			cin >> ch;
			if (ch == '#') mp[i][j] = 1;
			if (ch == '.') mp[i][j] = 0;
		}
	for (int i = 1; i <= c; i++)
	{
		int p = r;
		while (p >= 1)
		{
			mp[i][2*r+1-p] = mp[i][p];
			p--;
		}
	}
	for (int i = 1; i <= 2 * r; i++)
	{
		int p = c;
		while (p >= 1)
		{
			mp[2*c+1-p][i] = mp[p][i];
			p--;
		}
	}
	int x, y;
	cin >> x >> y;
	mp[x][y] = !mp[x][y];
	for (int i = 1; i <= 2 * r; i++)
	{
		for (int j = 1; j <= 2 * c; j++)
		{
			if (mp[i][j]) cout << "#";
			else cout << ".";
		}
		cout << endl;
	}
}

当我试着检测样例时,顺利通过了。 但是提交之后WA了一半。

我不甘心啊,忍不住保存了答案的输入输出,想看看问题在哪里。结果发现莫名多打印了两列“.”

可这是为什么捏?求大佬帮忙看看,因为样例是能通过的,证明不是一般性的多打印了。 就是这个。。。这是输出的一部分

2023/1/10 17:44
加载中...