1024,我在調八數碼問題程式

2021-08-09 18:57:17 字數 2251 閱讀 9016

原因就是因為 1024 m = 1gb,即一級棒的(**)意思,老司機都懂的!

對程式設計師來說,這麼重大的節日今天卻啥也沒做,就光調下面這個八數碼問題的演算法**,用雙向廣搜實現。

1024,自己調了一整天的程式很鬱悶,這不應該是今天的正確開啟方式。

最後,趁著這程式設計師節,祝願廣大 coder 寫碼無 bug, 心想事成!

貼上八數碼題原始碼(沒剪支掉無解的情況):

#include#define rint register int

#define ul unsigned long

#define size (5)

#define max (362889)

#define border (-1)

#define vis_1 (1)

#define vis_2 (2)

const int dx[4] = ;

const int dy[4] = ;

const int fac=;

typedef struct node_

node;

int vis[max] = ;

int map[size][size];

node q[5000];

int a[9];

void init();

ul cantor(int a, int len);

void cantorreverse(int a, int len, int k);

int* convertfrommaptoarray(int m[5][5]);

void convertfromarraytomap(int m[5][5]);

ul getstate(int a[9]);

void bfs();

//康拓展開函式

ul cantor(int a, int len)

sum+=cnt*fac[len-i-1];

}return sum;

}void cantorreverse(int a, int len, int k)

; for(rint i = 0; i < len; i++)

a[i] = temp;

vis[temp] = 1;

}}int* convertfrommaptoarray(int m[5][5])

}return a;

}void convertfromarraytomap(int m[5][5])

}}ul getstate(int a[9])

void init()

//init the vis

for(rint i = 0; i < max; i++)

vis[i] = 0;

//add border for map

for(rint i = 0; i < size; i++)

//input start state data

for(rint i = 1; i <= 3; i++)}}

q[0].x = x;

q[0].y = y;

q[0].state = getstate(convertfrommaptoarray(map)); //start state

vis[q[0].state] = vis_1;

//input end state data

for(rint i = 1; i <= 3; i++)}}

q[1].x = x;

q[1].y = y;

q[1].state = getstate(convertfrommaptoarray(map)); //start state

vis[q[1].state] = vis_2;

}void bfs()

else if(vis[curstate] != vis[nextstate])

map[x1][y1] = map[x][y];

map[x][y] = temp;}}

}node nextnode;

for(rint i = 1; i < rear; i++)

}printf("%d\n", nextnode.step + curnode.step + 1);

}int main()

return 0;

}

專案經理問 為什麼總是只有我在加班 掛包袱現象

現象 最近和一位專案經理聊天。這位pm之前是個技術大牛,沒什麼搞不定的東西,而且做事也認真,也賣命。領導沒理由不提拔這種牛人。所以,這個專案讓這哥們當pm。聊著聊著,這位牛人發出一聲感慨,現在的員工不好帶啊,每天到了晚上7點,就只剩我和另乙個小組長了。專案組10多個人,都跑的精光。我樂了。其實這種情...

專案經理問 為什麼總是只有我在加班 掛包袱現象

出處 現象 最近和一位專案經理聊天。這位pm之前是個技術大牛,沒什麼搞不定的東西,而且做事也認真,也賣命。領導沒理由不提拔這種牛人。所以,這個專案讓這哥們當pm。聊著聊著,這位牛人發出一聲感慨,現在的員工不好帶啊,每天到了晚上7點,就只剩我和另乙個小組長了。專案組10多個人,都跑的精光。我樂了。其實...

專案經理問 為什麼總是只有我在加班 掛包袱現象

現象 最近和一位專案經理聊天。這位pm之前是個技術大牛,沒什麼搞不定的東西,而且做事也認真,也賣命。領導沒理由不提拔這種牛人。所以,這個專案讓這哥們當pm。聊著聊著,這位牛人發出一聲感慨,現在的員工不好帶啊,每天到了晚上7點,就只剩我和另乙個小組長了。專案組10多個人,都跑的精光。我樂了。其實這種情...