样例全过 WA 求助
查看原帖
样例全过 WA 求助
1028403
封禁用户楼主2024/3/30 19:13

rt. 0 pts\color{red}\text{0 pts} QwQ

#include <iostream>
using namespace std;
const int dx[] = {-1, 1, 0, 0};
const int dy[] = {0, 0, -1, 1};
int n, m, a, b, S, M, L;
char c[1010][1010];
bool vis[1010][1010];
void dfs(int x, int y) {
    if (x < 1 || x > n || y < 1 || y > m) return;
    if (vis[x][y] || c[x][y] == '*') return;
    vis[x][y] = true;
    if (c[x][y] == 'S') S++;
    if (c[x][y] == 'M') M++;
    if (c[x][y] == 'L') L++;
    for (int i = 0; i < 4; i++) {
        int kx = x + dx[i];
        int ky = y + dy[i];
        if (!vis[kx][ky] && c[kx][ky] != '*' && kx >= 1 && kx <= n && ky >= 1 && ky <= m)
        	dfs(kx, ky);
    }
}
int main()
{
    cin >> n >> m;
    for (int i = 1; i <= n; i++)
        for (int j = 1; j <= m; j++)
            cin >> c[i][j];
    cin >> a >> b;
    dfs(a, b);
    cout << S + M * 5 + L * 10 << endl;
    return 0;
}
2024/3/30 19:13
加载中...