当前位置: 首页 > news >正文

P8865 [NOIP2022] 种花

P8865 [NOIP2022] 种花

 

#include <bits/stdc++.h>
using namespace std;const int mod = 998244353,maxn = 1e3 + 10;
int a[maxn][maxn],down[maxn][maxn],r[maxn][maxn],up[maxn][maxn];int main(){int T,id;cin >> T >> id;while(T--){int n,m,c,f;cin >> n >> m >> c >> f;memset(a,0,sizeof(a));memset(down,0,sizeof(down));memset(r,0,sizeof(r));memset(up,0,sizeof(up));for(int i = 1; i <= n; i++){for(int j = 1; j <= m; j++){char ch; cin >> ch;if(ch=='1') a[i][j] = 1;//表示有土坑 
            }} for(int i = n; i >= 1;i--){for(int j = 1; j <= m; j++){if(a[i][j] == 0) down[i][j] = down[i + 1][j] + 1;}}for(int i = 1; i <= n; i++){for(int j = m; j >= 1;j--){if(a[i][j] == 0) r[i][j] = r[i][j + 1] + 1;}}for(int i = 1; i <= n; i++){for(int j = 1; j <= m; j++){if(a[i][j]==0){up[i][j] = r[i][j] - 1;up[i][j] += up[i - 1][j]; } }}long long cntc = 0,cntf = 0;for(int i = 3; i <= n; i++){for(int j = 1;j < m; j++){if(a[i][j] == 0 && a[i - 1][j] == 0){cntc = (cntc + up[i - 2][j] * r[i][j + 1]) % mod;cntf = (cntf + 1ll * up[i - 2][j] * r[i][j + 1] * down[i + 1][j]) % mod;}}}cout << cntc * c % mod << " " << cntf * f % mod << endl;}return 0;
} 
View Code

 

http://www.hskmm.com/?act=detail&tid=15609

相关文章:

  • traefik 反向代理 + IdentityServer4
  • 麦角硫因制备关键技术和设备
  • 2025年十大好用网盘推荐:功能、口碑与性价比大对比
  • 卡特兰数
  • Word-通过宏格式化文档中的表格和图片
  • 反向代理 traefik - 健康检查
  • 一些想法 - CelestialZ
  • 使用 Ansible 批量安装 Docker
  • 编程规范---日志规范
  • 深入解析:find_code 插件 react_vite
  • 二十一、DevOps:从零建设基于K8s的DevOps平台(二)
  • 中电金信:从“通用”到“专用”:加速实现金融行业生成式AI应用的必由之路
  • 自动构建高质量测试集
  • SAP BAPI_PR_CREATE 创建采购申请(含自定义字段)
  • NCCL论文阅读
  • 新手项目经理如何选工具?2025年这5款上手快、不复杂的项目管理软件适合你
  • 用DiskGenius重新分区,检测出U盘虚标容量。
  • 2025低空经济时空信息平台
  • linux gcc attribute
  • 那个…以后拍证件照,可能真不用花钱了
  • CF2147G
  • 全栈开发者效率工具图谱:从IDE到云服务的最优组合 - 指南
  • 皇牌空战7豪华版DLC补丁
  • 基础语法
  • 遥感影像处理利器:PCL Geomatica 2018 功能与安装指南
  • EaseUS Partition Master 13.8 技术员版功能介绍与安装教程
  • 使用 Ansible 批量完成 CentOS 7 操作系统基础配置
  • BeanUtils中的copyProperties方法使用和分析
  • VUE + Nginx + Traefik 项目的发布与反向代理
  • CF *3500