#include<bits/stdc++.h>
#define LL long long
#define MAXN 1000000
using namespace std;
template<typename T>void Read(T &cn)
{
char c;int sig = 1;
while(!isdigit(c = getchar()))if(c == '-')sig = -1; cn = c-48;
while(isdigit(c = getchar()))cn = cn*10+c-48; cn*=sig;
}
template<typename T>void Write(T cn)
{
if(cn < 0) {putchar('-'); cn = 0-cn; }
int wei = 0; T cm = 0; int cx = cn%10; cn/=10;
while(cn)cm = cm*10+cn%10,cn/=10,wei++;
while(wei--)putchar(cm%10+48),cm/=10;
putchar(cx+48);
}
int z[4] = {'U', 'D', 'L', 'R'};
int n,m,k;
char c[MAXN+1];
int clen, glen;
void kong() {clen = glen = 0; }
void rel() {Write(glen); puts(""); for(int i = 1;i<=clen;i++) putchar(c[i]); }
void jc(char cn) {c[++clen] = cn; }
void Wr_n(int cn)
{
if(cn < 0) {jc('-'); cn = 0-cn; }
int wei = 0; int cm = 0; int cx = cn%10; cn/=10;
while(cn)cm = cm*10+cn%10,cn/=10,wei++;
while(wei--)jc(cm%10+48),cm/=10;
jc(cx+48);
}
void chu1(int cn, int cm) {if(!cn) return; glen++; Wr_n(cn); jc(' '); jc(z[cm]); jc('\n'); }
void chu2(int cn, int cm,int cx) {if(!cn) return; glen++; Wr_n(cn); jc(' '); jc(z[cm]); jc(z[cx]); jc('\n'); }
void chu3(int cn, int cm,int cx,int cy) {if(!cn) return; glen++; Wr_n(cn); jc(' '); jc(z[cm]); jc(z[cx]); jc(z[cy]); jc('\n'); }
int zou1(int cn, int cm)
{
if(cm >= k) {
chu1(k,cn); k -= k;
return 1;
}
chu1(cm,cn); k -= cm;
return 0;
}
int zou3(int cn1, int cn2, int cn3, int cm)
{
if(cm*3 < k) {
chu3(cm,cn1,cn2,cn3); k -= cm*3;
return 0;
}
int ge = k/3; k = k%3;
chu3(ge,cn1,cn2,cn3);
if(k == 0) return 1;
if(k == 1) {chu1(1,cn1); return 1; }
if(k == 2) {chu2(1,cn1,cn2); return 1; }
}
int main1()
{
Read(n); Read(m); Read(k);
if((n-1)*m*2 + n*(m-1)*2 < k) {puts("NO"); return 1; }
puts("YES");
if(n > m) {swap(z[0], z[2]); swap(z[1], z[3]); swap(n, m); }
kong();
if(n == 1) {
if(k <= m-1) {
chu1(k,3);
return 0;
}
else {
chu1(m-1,3);
chu1(k-m+1,2);
return 0;
}
}
if(zou1(3,m-1)) return 0;
if(zou1(2,m-1)) return 0;
for(int i = 2;i<=n;i++)
{
if(zou3(1,3,0,m-1)) return 0;
if(zou1(1,1)) return 0;
if(zou1(2,m-1)) return 0;
}
if(zou1(0,n-1)) return 0;
return 0;
}
int main() {if(!main1()) rel(); }
【CF】Codeforces1301E_Time to run
原文:https://www.cnblogs.com/czyarl/p/12332998.html