【Educational Codeforces Round 88 (Rated for Div. 2) B】New Theatre Square
for Codeforces div New round 88 Square Educational
2023-09-14 09:03:42 时间
【题目翻译】
让你用1*1和1*2的砖块铺满空白的格子。1*2的砖块只能横着放。
用11的砖块代价是x,12的代价则是y.
问你需要的最小代价。
【题解】
看到1*2只能横着放。问题就简单多了。若x2<=y则直接放11的就行了。
否则1*2可以放久放这个。(单位格子价格更低);
【代码】
/*
显然有的性质:
如果x*2<=y
那肯定直接用1*1的了。
如果x*2>y
像这种情况,怎么知道要竖着放还是横着放?
...
.
*/
#include<bits/stdc++.h>
#define ll long long
#define rei(x) scanf("%d",&x)
#define rel(x) scanf("%I64d",&x)
#define rep1(i,a,b) for (int i = a;i <= b;i++)
#define rep2(i,a,b) for (int i = a;i >= b;i--)
using namespace std;
const int N = 1000;
int T,n,m,x,y;
char s[N+10][N+10];
int main(){
//cout<<(1LL<<62)<<endl;
#ifdef LOCAL_DEFINE
freopen("D:\\rush.txt","r",stdin);
#endif
rei(T);
while (T--){
rei(n);rei(m);rei(x);rei(y);
rep1(i,1,n){
scanf("%s",s[i]+1);
}
int tot = 0;
rep1(i,1,n){
rep1(j,1,m){
if (s[i][j]=='.'){
if (x*2<=y){
s[i][j]='*';
tot+=x;
}else{
if (j+1<=m && s[i][j+1]=='.'){
s[i][j]='*';
s[i][j+1]='*';
tot+=y;
}else{
s[i][j]='*';
tot+=x;
}
}
}
}
}
printf("%d\n",tot);
}
return 0;
}
相关文章
- ON1 Photo RAW 2023 for Mac(照片编辑器)
- 【踩坑】修复dpkg: warning: files list file for package ‘xxxx‘ missing; assuming pac
- ORA-01771: illegal option for a clustered table ORACLE 报错 故障修复 远程处理
- ORA-02225: only EXECUTE and DEBUG privileges are valid for procedures ORACLE 报错 故障修复 远程处理
- ORA-25158: Cannot specify RELY for foreign key if the associated primary key is NORELY ORACLE 报错 故障修复 远程处理
- ORA-01697: control file is for a clone database ORACLE 报错 故障修复 远程处理
- ORA-14755: Invalid partition specification for FOR VALUES clause. ORACLE 报错 故障修复 远程处理
- ORA-16081: insufficient number of processes for APPLY ORACLE 报错 故障修复 远程处理
- MongoDB for Java详解数据库
- Mongodb driver for java 使用样例详解大数据
- loopOracle中的循环编程:For Loop游标(oracle游标for)
- 使用Linux中的For循环实现简单程序(linux的for循环)
- PanDownload for Android v1.2.9 网盘不限速
- Oracle Alpha: New Beginnings for Database Management(oraclealpha)
- 技巧使用Oracle的FOR循环加快编程效率(oracle的for循环)
- 的使用使用Oracle中的For循环加深理解(oracle中for循环)
- databaseMySQL Database: A Comprehensive Guide for N00bs(nformysql)
- Using XML with MSSQL for Enhanced Data Management(mssqlxml)
- 循环Oracle环境下使用For循环的指南(oracle中使用for)
- 遍历Oracle中用For反向遍历字符串的简单示例(oracle中for反向)