2014 網選 5012 Dice bfs模板

2021-09-20 14:14:19 字數 1444 閱讀 2913

1/*2

題意:就是給定兩個篩子,每個篩子上6個面,每個面的數字屬於[1,6], 且互不相同!

3問a篩子最少經過按照題目規定的要求轉動,達到和b篩子上下左右前後的數字相同!45

思路:很直白的bfs,將每一種狀態對應乙個數字,保證這種狀態不會重新加入佇列中! 6*/

7 #include8 #include9 #include10 #include11 #include12

using

namespace

std;

1314

int a[7

], ss;

15int vis[654330

];16

17struct

node

20 node(int a1, int a2, int a3, int a4, int a5, int

a6)28

intstep;

29};

3031 queueq;

3233

34int

sum(node x)

4041

bool

bfs()

53q.pop();

54 node *nt = new node(cur.k[5], cur.k[6], cur.k[3], cur.k[4], cur.k[2], cur.k[1

]);55

int v = sum(*nt);

56if(!vis[v])

6162 nt = new node(cur.k[6], cur.k[5], cur.k[3], cur.k[4], cur.k[1], cur.k[2

]);63 v = sum(*nt);

64if(!vis[v])

6970 nt = new node(cur.k[3], cur.k[4], cur.k[2], cur.k[1], cur.k[5], cur.k[6

]);71 v = sum(*nt);

72if(!vis[v])

7778 nt = new node(cur.k[4], cur.k[3], cur.k[1], cur.k[2], cur.k[5], cur.k[6

]);79 v = sum(*nt);

80if(!vis[v])85}

86return

false;87

}8889int

main()

97 memset(vis, 0, sizeof

(vis));

98if(!bfs())

99 printf("

-1\n

");

100}

101return0;

102 }

2014東莞市選 分組

file io input group.in output group.out time limits 1000 ms memory limits 262144 kb detailed limits special judge description 有n個字串,給這些字串分組,使得每個字串屬於且僅...

汕頭市選 2014 舞伴

n 個男孩,n 個女孩,男孩和女孩可能是朋友,也可能不是朋友。現在要組成n 對舞伴,要求每對 伴都是一男一女,且他們是朋友。統計不同配對方案的數量,因為結果很大,所以只要求除以m 的餘數。對於50 的資料,n 9 對於100 的資料,1 n 20,1 m 10 9 0 aij 1。這題觀察資料不難發...

汕頭市選2014 舞伴 perm

n 個男孩,n 個女孩,男孩和女孩可能是朋友,也可能不是朋友。現在要組成n 對舞伴,要求每對舞 伴都是一男一女,且他們是朋友。統計不同配對方案的數量,因為結果很大,所以只要求除以m 的餘數。第1 行,2 個整數n,m。接下來n 行,每行n 個整數aij,表示第i 個男孩和第j 個女孩的關係。如果他們...