分析
先手玩几组数据,发现答案和奇偶性有关?
于是写个爆搜就过了。
然后BZOJ上没有SPJ,所以具体的输出顺序戳这里
代码
//It is made by M_sea
#include <algorithm>
#include <iostream>
#include <cstdlib>
#include <cstring>
#include <cstdio>
#include <cmath>
#define re register
using namespace std;
inline int read() {
int X=0,w=1; char c=getchar();
while (c<'0'||c>'9') { if (c=='-') w=-1; c=getchar(); }
while (c>='0'&&c<='9') X=X*10+c-'0',c=getchar();
return X*w;
}
int n,B;
int a[30];
inline void dfs(int pos,int limit) {
if (pos>n) {
for (re int i=n;i>=1;--i) putchar(a[i]+((a[i]<10)?48:55));
//这里倒序是为了在BZOJ上AC
putchar('\n'); return;
}
if (limit)
for (re int i=B-1;~i;--i) a[pos]=i,dfs(pos+1,(i&1)^1);
else
for (re int i=0;i<B;++i) a[pos]=i,dfs(pos+1,(i&1));
}
int main() {
n=read(),B=read();
dfs(1,0);
return 0;
}