SCOI2005 超級格雷碼

2021-07-22 05:13:04 字數 639 閱讀 4813

提交:bzoj1081

題目↑↑

這道題並不是很難,題意易懂,用搜尋,是可以知道的

但是,十分麻煩……

然而一位神同學yzh通過打表來發現了這道題的規律……十分神奇耶……

假設是n=2 b=3:

答案是:00 10 20 21 11 01 02 12 22

分下組:

00 10 20

21 11 01

02 12 22

也就是說,當第i數是偶數時,第i-1個數是由大到小排列,當第i數是奇數時,第i-1個數是由小到大排列

magical!!!

**↓↓

#include

#include

#include

#include

#include

using

namespace

std;

int n,b;

int a[110000];

void dfs(int k,int t)

printf("\n");

return ;

}if(t==1)

}else

}}int main()

SCOI2005 超級格雷碼

著名的格雷碼是指2n個不同n位二進位制數 即0 2n 1,不足n位在前補零 的乙個排列,這個排列滿足相鄰的兩個二進位制數的n位數字中最多只有乙個數字不同 例如003和001就有乙個數字不同,而003和030有兩個數字不同,不符合條件 例如n 2時,00,01,11,10 就是乙個滿足條件的格雷碼。所...

bzoj1081 SCOI2005 超級格雷碼

description 著名的格雷碼是指2n個不同n位二進位制數 即0 2n 1,不足n位在前補零 的乙個排列,這個排列滿足相鄰的兩 個二進位制數的n位數字中最多只有乙個數字不同 例如003和001就有乙個數字不同,而003和030有兩個數字不同,不符合條件 例如n 2時,00,01,11,10 就...

BZOJ1081 SCOI2005 超級格雷碼

description 著名的格雷碼是指2n個不同n位二進位制數 即0 2n 1,不足n位在前補零 的乙個排列,這個排列滿足相鄰的兩個二進位制數的n位數字中最多只有乙個數字不同 例如003和001就有乙個數字不同,而003和030有兩個數字不同,不符合條件 例如n 2時,00,01,11,10 就是...