求助
查看原帖
求助
1382663
XiaoHongChong楼主2024/7/29 13:15
#include <bits/stdc++.h>
using namespace std;
int n, m, len, max1, max2;
char a[1005][1005];
string daan(int x, int y)
{
	string ans(1, a[x][y]);
	string b(1, a[x + 1][y]), c(1, a[x - 1][y]);
	string d(1, a[x][y + 1]), e(1, a[x][y - 1]);
	if (b == "#") b = "";
	if (c == "#") c = "";
	if (d == "#") d = "";
	if (e == "#") e = "";
	string ans2 = max(b, c);
	ans2 = max(ans2, d);
	ans2 = max(ans2, e);
	ans += ans2;
	len = ans.length();
	if (len == 1)
		return ans;
	if (ans[0] == ans[1])
	{
		string s(1, ans[0]);
		return s;
	}
	return ans;
}
int main()
{
	string ans;
	cin >> n >> m;
	for (int i = 1; i <= n; i++)
	{
		for (int j = 1; j <= m; j++)
		{
			cin >> a[i][j];
			if (a[max1][max2] < a[i][j] && a[i][j] != '#')
			{
				max1 = i;
				max2 = j;
			}
			if (a[i][j] == '#')
			{
				string s = daan(max1, max2);
				ans = max(ans, s);
				max1 = 0;
				max2 = 0;
			}
		}
	}
	cout << ans << endl; 
	return 0;
}

到底怎么改???

2024/7/29 13:15
加载中...