我调试发现用getchar啥都没输出
#include<bits/stdc++.h>
using namespace std;
const int MOD = 998244353;
char G[505][505];
bool vis[505][505];
int S,n,m,ans = 1,cnt,lastx,lasty;
void dfs(int x,int y){
// for(int i = 1;i <= n;i++){
// for(int j = 1;j <= m;j++){
/// cout << vis[i][j];
// }
// printf("\n");
// }
//printf("\n");
ans+= cnt;
ans++;
ans %= MOD;
if(x == lastx && y == lasty){
return;
}
for(register int j = y + 1;j <= n;j++)
if(!vis[x][j])
dfs(x,j);
for(register int i = x + 1;i <= n;i++)
for(register int j = 1;j <= m;j++)
if(!vis[i][j])
dfs(i,j);
}
int main(){
scanf("%d%d%d", &S, &n, &m);
for(int i = 1;i <= n;i++){
for(int j = 1;j <= m;j++){
G[i][j] = getchar();
if(G[i][j] == '*'){
cnt++;
vis[i][j] = true;
}
else{
lastx = i;
lasty = j;
}
}
}
//调试
for(int i = 1;i <= n;i++){
for(int j = 1;j <= m;j++)
putchar(G[i][j]);
putchar('\n');
}
ans += cnt;
for(register int i = 1;i <= n;i++){
for(register int j = 1;j <= m;j++){
if(!vis[i][j]){
vis[i][j] = true;
dfs(i,j);
vis[i][j] = false;
}
}
}
printf("%d",ans % MOD);
return 0;
}