Codeforces1301D
其实感觉这道题在D简单了(但我都没做到这一题,路径最多的方式只有一种,将所有的边都走一遍,从第一行开始,向右走到头,然后向左回来,向下一格,向右走到头,然后上下左重复直到第一列,如此重复直到最后一行,最后一步为向上到第一行第一列,注意输出的时候要判断一下0的情况
#include<bits/stdc++.h>
using namespace std;
#define lowbit(x) ((x)&(-x))
typedef long long LL; void run_case() {
int n, m, k;
cin >> n >> m >> k;
vector<pair<int,string>> store, ans;
int cnt = ;
for(int i = ; i <= n; ++i) {
store.push_back(make_pair(m-, "R"));
cnt += store.back().first * store.back().second.size();
if(i == ) store.push_back(make_pair(m-, "L"));
else store.push_back(make_pair(m-, "UDL"));
cnt += store.back().first * store.back().second.size();
if(i == n) store.push_back(make_pair(n-, "U"));
else store.push_back(make_pair(, "D"));
cnt += store.back().first * store.back().second.size();
}
if(cnt < k) {
cout << "NO\n";
return;
}
while(cnt > k) {
string now = store.back().second;
int cur = store.back().first*now.size();
store.pop_back();
cnt -= cur;
if(cnt >= k) continue;
cur = k - cnt;
if(cur / now.size()) store.push_back(make_pair(cur/now.size(), now));
now.resize(cur%now.size());
if(now.size()) store.push_back(make_pair(, now));
cnt = k;
}
cout << "YES\n";
for(auto i : store) {
if(i.first) ans.push_back(i);
}
cout << ans.size() << "\n";
for(auto i : ans) {
cout << i.first << " " << i.second << "\n";
}
} int main() {
ios::sync_with_stdio(false), cin.tie();
//cout.setf(ios_base::showpoint);cout.precision(10);
//int t; cin >> t;
//while(t--)
run_case();
cout.flush();
return ;
}
Codeforces1301D的更多相关文章
- Codeforces1301D Time to Run
(搬运一下部分官方题解) Description link 或者洛谷link 到时候就有中文翻译了,不过这个题机翻没毛病 Solution 首先这是一道模拟题-- 不要管题目中的循环移动的问题,直接按 ...
随机推荐
- 6_2 铁轨(UVa514)<栈>
在一个叫「堆叠市」的城市中有一个有名的火车站.由于地形限制以及经费的关系,火车站及唯一的铁路的样子如下图: 现在火车从A方向来,预定从B方向离开.火车共有N节车厢(N <=1000),并且各车厢 ...
- Could not find result map com.youotech.tl_cons_credit_rating.entity.Result
后端报错如下: java.lang.IllegalArgumentException: Result Maps collection does not contain value for com.yo ...
- Bugku-CTF加密篇之这不是md5(666c61677b616537333538376261353662616566357d)
这不是md5 666c61677b616537333538376261353662616566357d
- LAMP源码编译
---恢复内容开始--- 1.LAMP源码编译的基础环境 安装组建包:yum groupinstall "Development Tools" "Development ...
- java篇 之 多态
2018-9-28 多态: 重载也称为静态多态(静态在编译阶段就能确定)(动态是跟运行时挂钩) 尽量去选择关系轻的,降低耦合度(紧密度) 内聚: 减少与外界的联系,降低与其他对象和类的联系 对象与对象 ...
- java ArrayList添加元素全部一样
#开始 今天遇到了一个很神奇的事情 也即是我在用ArrayList的add方法循环加入对象的时候 发现添加的元素全部都是一样的 定位错误定位了一个下午.... 错误位置就是哪一个位置 但是就是不知道为 ...
- Bug搬运工-CSCvi02106 :Cisco 2800, 3800, 1560 APs: when connected to a Cisco Switch CDP-4-DUPLEX_MISMATCH log is seen
Cisco 2800, 3800, 1560 APs: when connected to a Cisco Switch CDP-4-DUPLEX_MISMATCH log is seen CSCvi ...
- tensorflow 学习记录
函数变动 tf.train.SummaryWriter 变为 tf.summary.Filewritter 函数功能相同,仅仅是简单的重命名 ``` writer = tf.summary.FileW ...
- 消息队列(五)--- RocketMQ-消息存储2
概述 RocketMQ存储中主要用到以下知识点: mmap 文件映射 内存池 异步刷盘 consumeQueue 同时本节将介绍各个重要的类,本篇文章将介绍 mmap 文件映射的相关方法和内存池相关知 ...
- jq 获取input多选框
1.获取checkbox选中个数 $("input[name='ckb-jobid']:checked").length $("input[type='checkbox' ...