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]满足后,因为只会对下一个 ...
随机推荐
- 应用场景不同,是无代码和低代码的最大区别 ZT
随着媒体对低代码.无代码等先进技术的持续关注,我们发现大多数人都听说过低代码开发和无代码开发这两个概念,但是对两者之间的区别其实并不清楚.事实上,低代码开发和无代码开发之间存在着很多非常显著的差异,如 ...
- js模拟form提交 导出数据
//创建模拟提交formfunction dataExport(option) { var form = $("<form method='get'></form>& ...
- Enable VT-x in your BIOS security settings, ensure that HAXM is installed properly. Try disabling 3rd party security software if the problem still occurs
win7系统安装了了AndroidStudio3.5后用模拟器报错:Enable VT-x in your BIOS security settings, ensure that HAXM is in ...
- NODEJS 使用 sqlite3 本地文件数据库
npm install sqlite3 var sqlite3 = require('sqlite3').verbose();var db = new sqlite3.Database('WebFil ...
- Redis-03-集群搭建
基于redis-3.2.4的Redis-Cluster集群搭建 原理 Redis 集群采用了P2P的模式,完全去中心化.Redis 把所有的 Key 分成了 16384 个 slot,每个 Redis ...
- POJ 2431 Expedition 贪心 优先级队列
Expedition Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 30702 Accepted: 8457 Descr ...
- 动手实现一个同步器(AQS)
在多线程情景下,如果不会某一共享变量采取一些同步机制,很可能发生数据不安全现象,比如购买车票时,当多个人购买时,不加锁就会产生多人买同一张票的现象,显然这是不可取的.所以要有一种同步机制,在某一时刻只 ...
- 从Windows10中彻底删除【3D对象】文件夹
Remove "3D object" folder from My Computer Windows Registry Editor Version 5.00 [-HKEY_LOC ...
- PAT (Basic Level) Practice (中文)1087 有多少不同的值 (20 分) (set)
当自然数 n 依次取 1.2.3.…….N 时,算式 ⌊ 有多少个不同的值?(注:⌊ 为取整函数,表示不超过 x 的最大自然数,即 x 的整数部分.) 输入格式: 输入给出一个正整数 N(2). 输出 ...
- ROS开发--在订阅话题的回调函数中发布话题
处理激光数据时,需要将处理后的激光数据再发布,需要保持一致的频率,所以必须在回调函数中发布激光数据信息. 代码参考:https://blog.csdn.net/heyijia0327/article/ ...