#include<bits/stdc++.h>
#include<iostream>
#include<cstring>
#include<cmath>
#include<cstdio>
#include<map>
#include<vector>
#include<algorithm>
const int N=2e5+5;
typedef long long ll;
typedef long double ld;
#define IOS ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);
#define endl '\n'
using namespace std;
ll t,n,m;
ll a[N],b[N];
char c[55][55];
int ob[55][55];
void solve()
{
cin>>t;
while(t--)
{
cin>>n>>m;
memset(ob,0,sizeof ob);
for(int i=1;i<=n;i++)
{
for(int j=1;j<=m;j++)cin>>c[i][j];
}
for(int j=1;j<=m;j++)c[n+1][j]='o';//给地板加一层障碍
n++;
for(int i=1;i<=m;i++)
{
int num=0;
for(int j=1;j<=n;j++)
{
if(c[j][i]=='*')num++;
else if(c[j][i]=='o')
{
ob[j][i]=num;//把障碍物上面的毛球数量存到当前位置
num=0;
}
}
}
for(int i=1;i<=m;i++)
{
int num=0;
for(int j=n;j>=1;j--)
{
if(ob[j][i])num=ob[j][i];//说明当前障碍上方有毛球
else if(num)//说明还可以放毛球
{
c[j][i]='*';
num--;
}
else if(c[j][i]!='o')c[j][i]='.';//不是障碍就放空气
}
}
n--;//去掉地板那层
for(int i=1;i<=n;i++)
{
for(int j=1;j<=m;j++)cout<<c[i][j];
cout<<endl;
}
}
}
int main()
{
IOS;
solve();
return 0;
}
22第二周周赛.rar
需积分: 5 148 浏览量
2022-11-12
17:40:01
上传
评论
收藏 3KB RAR 举报
怎么吃不饱593
- 粉丝: 2
- 资源: 1
最新资源
- 基于matlab开发的根据rvm回归模型自己编的matlab程序.rar
- 高效C++学生成绩管理系统:教育技术+C++17编程+数据管理+教务自动化
- 基于matlab开发的Tipping的相关向量机RVM的回归MATLAB程序,有英文注释,可以运行.rar
- 一个点击正反转程序实例,可实现案件电机正反转
- 搜索链接淘特搜索引擎共享版-tot-search-engine.rar
- 第十八届全国大学生智能汽车竞赛 摄像头组/镜头组
- 基于matlab开发的AUV惯性导航系统matlab仿真程序,包括轨迹生成、gps和sins组合、gps和dvl组合.rar
- 基于SSM的“个性化电子相册”的设计与实现.zip
- 如何在撰写科研文献时,使用ai工具辅助去完成科研工作
- 吉林大学计组笔记 自用 基于b站翼云图灵的课.pdf
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈