Falling Apples Kattis - apples (详细注释)
发布日期:2022-02-10 08:11:06 浏览次数:20 分类:技术文章

本文共 1066 字,大约阅读时间需要 3 分钟。

#include 
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#define MAX 0x3f3f3f3ftypedef long long ll;using namespace std;int n,m,k;int visi[11];//判断该列是否有袋子(#)int cnt_a[11];//遍历时当前袋子(#)往上的苹果数int cnt[11];//每一列的苹果总数char ans[50001][11];//结果输出char a[50001][11]; //输入的数组int main(){ cin>>n>>m; for(int i = 0 ;i < n;i++){ for(int j = 0 ; j < m ; j++){ cin>>a[i][j]; if(a[i][j] == '#') visi[j] = 1; if(a[i][j] == 'a') cnt[j]++; } } for(int j = 0 ; j < m ; j++) { if(visi[j] == 0) //没有# 直接全部落下苹果 for(int i = n - 1 ; i >= n - cnt[j];i--) ans[i][j] = 'a'; else{ //有# for(int i = 0 ; i < n ; i++) { if(a[i][j] == '#'){ //把当前#上的苹果都落下 ans[i][j] = '#'; for(int k = i - 1 ;k >=i - cnt_a[j];k--) ans[k][j] = 'a'; cnt_a[j] = 0; } else if(a[i][j] == 'a') cnt_a[j]++; } if(cnt_a[j] != 0)//把剩余的苹果都落下 for(int i = n - 1 ; i >= n-cnt_a[j];i--) ans[i][j] = 'a'; } } for(int i = 0 ; i < n ; i++) { for(int j = 0 ; j < m ;j++) { if(ans[i][j] != 'a' && ans[i][j] !='#') cout<<"."; else cout<

转载地址:https://blog.csdn.net/qq_43567222/article/details/114829102 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:牛吃草- Mouse and corns EOlymp - 15
下一篇:海景房 OpenJ_Bailian - 2945

发表评论

最新留言

能坚持,总会有不一样的收获!
[***.219.124.196]2024年04月26日 00时24分04秒