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]满足后,因为只会对下一个 ...
随机推荐
- CF547E Mike and Friends [AC自动机,离线树状数组]
#include <cstdio> #include <queue> #include <vector> #define pb emplace_back using ...
- SpringBoot图文教程6—SpringBoot中过滤器的使用
有天上飞的概念,就要有落地的实现 概念十遍不如代码一遍,朋友,希望你把文中所有的代码案例都敲一遍 先赞后看,养成习惯 SpringBoot 图文系列教程技术大纲 鹿老师的Java笔记 SpringBo ...
- nCompass-解决方案介绍
nCompass-解决方案介绍 1. IT运维的现状及痛点 业务部门投诉系统不可用,各个部门盘查: 网络是通的:系统资源正常:应用进程状态都是正常的:数据库日志中也没有报错 运维被动: 80%的故障 ...
- 6-Z字形变换
6-Z字形变换 将一个给定字符串根据给定的行数,以从上往下.从左到右进行 Z 字形排列. 比如输入字符串为 "LEETCODEISHIRING" 行数为 3 时,排列如下: L C ...
- Selenium实战(一)——浏览器实例
一.Chrome浏览器 首先,在所有的打开浏览器操作之前,要配置好python环境和selenium,安装好如下图所示:然后可以选择一款适合自己的编辑器,这里用的是pycharm(第一次写博客贴的动图 ...
- 【sklearn文本特征提取】词袋模型/稀疏表示/停用词/TF-IDF模型
1. 词袋模型 (Bag of Words, BOW) 文本分析是机器学习算法的一个主要应用领域.然而,原始数据的这些符号序列不能直接提供给算法进行训练,因为大多数算法期望的是固定大小的数字特征向量, ...
- shadow文件中密码的加密方式
1) 查看shadow文件的内容 cat /etc/shadow 可以得到shadow文件的内容,限于篇幅,我们举例说明: root:$1$Bg1H/4mz$X89TqH7tpi9dX1B9j5YsF ...
- springboot web - 启动(1) 创建SpringApplication
一. 测试代码 @SpringBootApplication public class SbmvcApplication { public static void main(String[] args ...
- 轻量级RPC设计与实现第四版
在本版本中引入了SPI机制,关于Java的SPI机制与Dubbo的SPI机制在以前的文章中介绍过. 传送门:Dubbo的SPI机制与JDK机制的不同及原理分析 因为设计的RPC框架是基于Spring的 ...
- gitlab持续集成,自动部署
写这篇文章的目的是,实现提交代码到gitlab上的一个项目时,自动打包,并将包发布到另一台服务器上,重启tomat.如有问题,可以联系本人QQ:409838567 gitlab-ci,是基于gitla ...