大佬们帮帮 还差0.2秒进去
#include <iostream>
using namespace std;
int r,c,n,tmp,i,j,r1,ret,f;
char a[30002][31];
int read(){
ret=0;
f=1;
char ch=getchar();
while (!isdigit(ch)){if (ch=='-')f=-f;ch=getchar();}
while (isdigit(ch)) ret=(ret<<3)+(ret<<1)+(ch&15),ch=getchar();
return ret*f;
}
int main(){
ios::sync_with_stdio(false);
r=read();
c=read();
for(i=1;i<=r;i++)for(j=1;j<=c;j++)cin>>a[i][j];
n=read();
for(i=1;i<=n;i++){
tmp=read();
for(r1 = 1;r1<=r;r1++){
if(a[r1][tmp]=='O'){
if(a[r1][tmp-1]=='.' && a[r1-1][tmp-1]=='.'){
tmp--;
r1--;
}
else if(a[r1][tmp+1]=='.' && a[r1-1][tmp+1]=='.'){
tmp++;
r1--;
}
else{
a[r1-1][tmp]='O';
break;
}
}
if(a[r1][tmp]=='X'){
a[r1-1][tmp]='O';
break;
}
if(r1==r){
a[r1][tmp]='O';
break;
}
}
}
for(i=1;i<=r;i++){
for(j=1;j<=c;j++){
putchar(a[i][j]);
}
putchar('\n');
}
return 0;
}
能优化的已经全部优化了