//为了连贯,采取一条路形式,从第一行开始    也就是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的更多相关文章

  1. 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 ...

  2. 【cf比赛记录】Codeforces Round #601 (Div. 2)

    Codeforces Round #601 (Div. 2) ---- 比赛传送门 周二晚因为身体不适鸽了,补题补题 A // http://codeforces.com/contest/1255/p ...

  3. Codeforces Round #601 (Div. 2)

    传送门 A. Changing Volume 签到. Code /* * Author: heyuhhh * Created Time: 2019/11/19 22:37:33 */ #include ...

  4. 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]块巧克力,每次操作可以将盒子中的 ...

  5. 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 ...

  6. Codeforces Round #601 (Div. 2) C League of Leesins

    把每一次输入的一组数字存下来,然后把每个数字出现的组数存下来 然后找只出现过一次的数字a,那么这个数字a不是开头就是结尾,默认为开头(是哪个都无所谓),然后去找和它出现在同一组的两个数字b和c,而b和 ...

  7. Codeforces Round #601 (Div. 2) B Fridge Lockers

    //题目要求的是每一个点最少要有两条边连接,所以可以先构成一个环.然后再把剩余的最短的边连接起来 #include<iostream> #include<algorithm> ...

  8. Codeforces Round #601 (Div. 2) A Changing Volume

    好吧,其实我拿到这个题的时候,首先想到了bfs,写完之后,开开森森的去交代码,却在第二个数据就TEL,然后优化半天,还是不行. 最终,我盯着1,2,5发呆半天,wc,然后直接贪心 #include&l ...

  9. Codeforces Round #601 (Div. 2)E(寻找质因子,DP)

    先分解质因数,对于当前a[i],假设当前的质因数为x,这个位置要满足能被k整除,有两个可能,要么是它向后一个转移x%k个,要么是后一个向它转移k-x%k个. 对于每一个a[i]满足后,因为只会对下一个 ...

随机推荐

  1. go 序列化

    序列化 package main import ( "encoding/json" "fmt" ) //结构体 type Monster struct { Na ...

  2. Couchdb垂直权限绕过到命令执行

    0x00couchdb简介 Apache CouchDB是一个开源数据库,专注于易用性和成为"完全拥抱web的数据库".它是一个使用JSON作为存储格式,JavaScript作为查 ...

  3. python进阶----深拷贝&浅拷贝

    复制需要区分,,复制的是源文件的数据,还是指向源文件数据的地址 1.引用   b=a时,理解为b指向了a指向的数据,相当于引用复制 a=[1,2] b=a #验证复制的是数据还是地址 #1.查看ab的 ...

  4. MySQL表名大小写敏感性

    Linux版MySQL 库名与表名是严格区分大小写的: 表的别名是严格区分大小写的: 列名与列的别名在所有的情况下均是忽略大小写的: 变量名也是严格区分大小写的: 修改步骤如下: 1. 编辑[/etc ...

  5. css3元素如何扭曲、移位或旋转

    css3 transform 兼容性:IE10+ transform:rotate(deg) 正数为顺时针,负数为逆时针 <!DOCTYPE html> <html lang=&qu ...

  6. 剑指offer-面试题32-之字形打印二叉树-二叉树栈

    /* 题目: 分行按层自上向下呈之字形打印二叉树.第一行从左到右,第二行从右到左,第三行从左到右... */ /* 思路: 使用两个栈stack1和stack2. stack1存储从左向右打印的节点, ...

  7. 论文阅读笔记(十五)【CVPR2016】:Top-push Video-based Person Re-identification

    Approach 特征由两部分组成:space-time特征和外貌特征.space-time特征由HOG3D[传送门]提取,其包含了空间梯度和时间动态信息:外貌特征采用颜色直方图[传送门]和LBP[传 ...

  8. NODEJS 中使用二维码 qr-image

    https://www.npmjs.com/package/qr-image npm install qr-image var qr = require('qr-image'); var code = ...

  9. pycharm-1

    Python 1.4解释器(运行文件) 1.5注释:#单行,ctrl+/ 多行注释       ””” ””” 2.1变量 assert,except:lambda; nonlocal; 2.2数据类 ...

  10. LOJ #2876. 「JOISC 2014 Day2」水壶 BFS+最小生成树+倍增LCA

    非常好的一道图论问题. 显然,我们要求城市间的最小生成树,然后查询路径最大值. 然后我们有一个非常神的处理方法:进行多源 BFS,处理出每一个城市的管辖范围. 显然,如果两个城市的管辖范围没有交集的话 ...