Codeforces Round #601 (Div. 2) D Feeding Chicken
//为了连贯,采取一条路形式,从第一行开始 也就是s型
#include <bits/stdc++.h>
using namespace std;
const int MAXN = ;
char str[MAXN][MAXN];
vector<char> ch;//存放鸡的名字
void init() {
for(char i=''; i<=''; i++) ch.emplace_back(i);
for(char i='A'; i<='Z'; i++) ch.emplace_back(i);
for(char i='a'; i<='z'; i++) ch.emplace_back(i);
}
int main() {
std::ios::sync_with_stdio(false);
cin.tie(),cout.tie();
int T;
init();
cin >> T;
while(T--) {
int r,c,k,cnt=;
cin >> r >> c >> k;
for(int i=; i<=r; i++) {
for(int j=; j<=c; j++) {
cin >> str[i][j];
if(str[i][j]=='R') cnt++;//米的总的数目
}
}
int x=cnt/k;//需要拿最少的鸡的数量
int y=cnt%k;//需要拿最多的鸡的数量
int cht=;
int xx=x;
if(y) xx++,y--;//最多拿
for(int i=; i<=r; i++) {//行
if(i&) {//如果是奇数行
for(int j=; j<=c; j++) {//每一列
if(str[i][j]=='R')//如果是米
xx--,cnt--;//数量减1,总数减一
str[i][j]=ch[cht];//标记
if(!cnt) {//如果总书减到0了
str[i][j]=ch[cht];//说明没有米,赋值就行
continue;
}
if(!xx) {//如果需要的米 完了
if(y) xx=x+,y--;//如果拿max的还没有搞完,就继续
else xx=x;
cht++;
}
}
} else {
for(int j=c; j>=; j--) {//i=1结束了,但上面的那个还没有放完,就接着上面的,继续放,倒着
if(str[i][j]=='R') xx--,cnt--;
str[i][j]=ch[cht];
if(!cnt) {
str[i][j]=ch[cht];
continue;
}
if(!xx) {
if(y) xx=x+,y--;
else xx=x;
cht++;
}
}
}
}
for(int i=; i<=r; i++) {
for(int j=; j<=c; j++)
cout << str[i][j];
cout << endl;
}
}
return ;
}
Codeforces Round #601 (Div. 2) D Feeding Chicken的更多相关文章
- Codeforce 1255 Round #601 (Div. 2)D. Feeding Chicken (模拟)
Long is a huge fan of CFC (Codeforces Fried Chicken). But the price of CFC is increasing, so he deci ...
- 【cf比赛记录】Codeforces Round #601 (Div. 2)
Codeforces Round #601 (Div. 2) ---- 比赛传送门 周二晚因为身体不适鸽了,补题补题 A // http://codeforces.com/contest/1255/p ...
- Codeforces Round #601 (Div. 2)
传送门 A. Changing Volume 签到. Code /* * Author: heyuhhh * Created Time: 2019/11/19 22:37:33 */ #include ...
- Codeforces Round #601 (Div. 2) E2. Send Boxes to Alice (Hard Version)
Codeforces Round #601 (Div. 2) E2. Send Boxes to Alice (Hard Version) N个盒子,每个盒子有a[i]块巧克力,每次操作可以将盒子中的 ...
- Codeforces Round #601 (Div. 2) E1 Send Boxes to Alice (Easy Version)
#include <bits/stdc++.h> using namespace std; typedef long long ll; ; int a[N]; int n; bool pr ...
- Codeforces Round #601 (Div. 2) C League of Leesins
把每一次输入的一组数字存下来,然后把每个数字出现的组数存下来 然后找只出现过一次的数字a,那么这个数字a不是开头就是结尾,默认为开头(是哪个都无所谓),然后去找和它出现在同一组的两个数字b和c,而b和 ...
- Codeforces Round #601 (Div. 2) B Fridge Lockers
//题目要求的是每一个点最少要有两条边连接,所以可以先构成一个环.然后再把剩余的最短的边连接起来 #include<iostream> #include<algorithm> ...
- Codeforces Round #601 (Div. 2) A Changing Volume
好吧,其实我拿到这个题的时候,首先想到了bfs,写完之后,开开森森的去交代码,却在第二个数据就TEL,然后优化半天,还是不行. 最终,我盯着1,2,5发呆半天,wc,然后直接贪心 #include&l ...
- Codeforces Round #601 (Div. 2)E(寻找质因子,DP)
先分解质因数,对于当前a[i],假设当前的质因数为x,这个位置要满足能被k整除,有两个可能,要么是它向后一个转移x%k个,要么是后一个向它转移k-x%k个. 对于每一个a[i]满足后,因为只会对下一个 ...
随机推荐
- nvm Nodejs 版本管理器 安装及配置
1.如果已安装nodejs请先卸载干净 nodejs:删除C:\Program Files\nodejs 文件夹 npm:删除C:\Users\{用户名}\AppData\Roaming\npm 文件 ...
- Dev-C++如何创建源代码模板?
Dev-C++如何创建源代码模板? 预览图片 按下Ctrl+N或者点击新建源代码,就会自动出现这些代码了 以下是操作步骤 编写你的模板 这里有我的样例: #include<iostream> ...
- SpringBoot从1.5.1→2.2.4项目加包扫雷一:Error:(8, 44) java: 程序包org.springframework.boot.web.support不存在
更换成新包即可import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
- QPixmap和QImage
1.QPixmap QPixmap的设计本来就是用来加速显示,用paint绘图时用QPixmap会比其他类的效果好很多.一般小图片用QPixmap. 2.QImage 依赖软件,直接像素访问,适合大图 ...
- ArcGIS JavaScript API with jQuery: Error: multipleDefine
I would like to use ArcGIS JavaScript API 4.3 with jQuery, but I am getting following errors. I sea ...
- linux下ftp(vsftpd)添加用户及设置权限详细步骤
1.环境:ftp为vsftp.被限制用户名为test.被限制路径为/home/test2.建用户:在root用户下:useradd test //增加用户test,并制定test用户的主目录为/hom ...
- 什么人适合学习Django?
什么人适合学习Django? 我觉得如果你能满足以下2个条件,你就可以果断地选择Django了. 你喜欢Python, 你对Web开发有热情. 学习Python和Django并不难,最重要的是你是否对 ...
- 【daily】Java泛型 - 返回父类的子类
一.栗子 public class GenericityInher { //error: Type mismatch: cannot convert from ArrayList<Child&g ...
- 关于MySQL数据库中null的那些事
在mysql数据库中,null是一个经常出现的情况,关于mysql中的null,有哪些注意事项呢?下面简单总结归纳下,后续会不断补充. 1. is null 首先判断数据库中某一列的值是否为null, ...
- Linux开机加载过程
2015-01-06 10:29:13 目录 1 开机加载简介 2 常规加载流程 2.1 加载BIOS 2.2 读取MBR 2.3 boot loader 2.4 加载内核 2.5 init依据i ...