求ABC C 思路
  • 板块学术版
  • 楼主封禁用户
  • 当前回复2
  • 已保存回复2
  • 发布时间2023/10/21 21:55
  • 上次更新2023/11/2 12:06:38
查看原帖
求ABC C 思路
1011137
封禁用户楼主2023/10/21 21:55

我的代码:

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;

const char c = '#';
int n, m;
char s[1001][1001];
int ans;

int main() {
	scanf("%d%d", &n, &m);
	for (int i = 1; i <= n; i++)
		scanf("%s", s[i] + 1);
	for (int i = 1; i <= n; i++)
		for (int j = 1; i <= m; i++)
			if (s[i][j] == c) {
				ans++;
				if (s[i + 1][j] == c)
					s[i + 1][j] = 'a';
				if (s[i - 1][j] == c)
					s[i - 1][j] = 'a';
				if (s[i][j + 1] == c)
					s[i][j + 1] = 'a';
				if (s[i][j - 1] == c)
					s[i][j - 1] = 'a';
				if (s[i + 1][j + 1] == c)
					s[i + 1][j + 1] = 'a';
				if (s[i - 1][j - 1] == c)
					s[i - 1][j - 1] = 'a';
				if (s[i + 1][j - 1] == c)
					s[i + 1][j - 1] = 'a';
				if (s[i - 1][j + 1] == c)
					s[i - 1][j + 1] = 'a';
			} else {
				if (s[i][j] == 'a') {
					if (s[i + 1][j] == 'a')
						s[i + 1][j] = 'a';
					if (s[i - 1][j] == 'a')
						s[i - 1][j] = 'a';
					if (s[i][j + 1] == 'a')
						s[i][j + 1] = 'a';
					if (s[i][j - 1] == 'a')
						s[i][j - 1] = 'a';
					if (s[i + 1][j + 1] == 'a')
						s[i + 1][j + 1] = 'a';
					if (s[i - 1][j - 1] == 'a')
						s[i - 1][j - 1] = 'a';
					if (s[i + 1][j - 1] == 'a')
						s[i + 1][j - 1] = 'a';
					if (s[i - 1][j + 1] == 'a')
						s[i - 1][j + 1] = 'a';
				}
			}
	printf("%d\n", ans);
}
2023/10/21 21:55
加载中...