首先,奇数一定无解。
其次,"DRUL"可以减1,"RULD"可以减2。
对于偶数的情况,如果不要求终点,那么构造起来就会比较简单,所以我们考虑移动通过上面两种操作转移起点。
为了使起点移动后方便构造,我们使初值为0。
#pragma GCC optimize("Ofast","inline")
#include<bits/stdc++.h>
using namespace std;
#define BEGIN signed main(){
ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);
#define END return 0;}
#define endl '\n'
#define sqr(x) ((x)*(x))
#define lowbit(x) ((x)&-(x))
typedef long long ll;
typedef unsigned long long ull;