2 条题解

  • -1
    @ 2026-3-29 8:52:44

    #include using namespace std; const int N = 105; char a[N][N]; int d[N][N],m,n; int x[4]={-1, 1, 0, 0}; int y[4]={0, 0, -1, 1}; int main() { cin >> n; for (int i=0;i<n;i++) for (int j=0;j<n;j++) cin >> a[i][j]; for (int i=0;i<n;i++) for (int j=0;j<n;j++) d[i][j]=-1; for (int i=0;i<n;i++) for (int j=0;j<n;j++) if (a[i][j]=='@') d[i][j]=1; cin>>m; for (int k = 1; k <= m; k++) { for (int i = 0; i < n; i++) { for (int j = 0; j < n; j++) { if (d[i][j] == k) { for (int l = 0; l < 4; l++) { int nx = i + x[l]; int ny = j + y[l]; if (nx >= 0 && nx < n && ny >= 0 && ny < n) { if (a[nx][ny] == '.' && d[nx][ny] == -1) d[nx][ny] = k + 1; } } } } } } int ans = 0; for (int i = 0; i < n; i++) for (int j = 0; j < n; j++) if (d[i][j] != -1 && d[i][j] <= m) ans++; cout << ans << endl; return 0; } //114514 //:) //包AC

    信息

    ID
    3516
    时间
    1000ms
    内存
    256MiB
    难度
    9
    标签
    (无)
    递交数
    12
    已通过
    4
    上传者