函式calc計算圍棋中位置(x,y)處連成一片的棋子個數。所謂連成一片,即沿著棋盤橫豎線往任意方向遍歷,遍歷過程允許轉彎,不允許走斜線,中間未出現對方棋子或空子。
enum color
第1-19行資料是棋盤上棋子的顏色資料。0表示未落子,1表示白子,2表示黑子。 第1行最左邊位置的座標是(0,0),第1行第2列的座標是(1,0),第2行第1列的座標是(0,1),依此類推。 第20行資料是起始座標(x,y)
與座標(x,y)連成一片的棋子數目
00000000000000000000000011000000000000
0000001111000000000
0000001021000000000
0000001010100000000
0000000000000000000
0000000000000000000
0000000000000000000
0000000000000000000
0000000000000000000
0000000000000000000
0000000000000000000
0000000000000000000
0000000000000000000
0000000000000000000
0000000000000000000
0000000000000000000
0000000000000000000
0000000000000000000
5,1
9
#include #include enum color ;
struct weiqi ;
int calc(struct weiqi* wq, int x, int y)
,,, };
static color current = wq->board[y][x];
if (x >= 19
|| x < 0
|| y >= 19
|| y < 0
|| wq->board[y][x] != current
|| wq->board[y][x] == none
)return 0;
int counter = 1;
wq->board[y][x] = none;
for (int i = 0; i< 4; i++)
counter+=calc(wq, x + dir[i][0], y + dir[i][1]);
return counter;}
int input(struct weiqi* wq, int* x, int* y)}}
ret = scanf( "%d,%d", x, y);
if (ret != 2)
return -1;
for (row = 0; row < 19; ++row)
fprintf(stderr, "\n");
}fprintf(stderr, "x = %d, y = %d\n", *x, *y);
return 0;}
int main()
cnt = calc(&wq, x, y);
printf("%d\n", cnt);
return 0;
}
請實現list_sort,使用冒泡法將head指向的鍊錶按val值大小排成公升序
struct node
}}已知某乙個字母序列,把序列中的字母按出現順序壓入乙個棧,在入棧的任意過程中,允許棧中的字母出棧,求所有可能的出棧順序
字串,如:abc
可能的出棧順序,每行一種順序
abc
abcacbbac
bcacba
#include #include #include #include using namespace std;
int main() );
for (const char& ch : str) }}
setoutput;
for (auto& stk : result)
output.insert(stk.second + string(stk.first.rbegin(), stk.first.rend()));
for (const string& str : output)
cout << str << endl;
return 0;
}
深信服2008校園招聘筆試題
1 變數和值的儲存位置 堆 棧 段 資料段等 2 sizeof struct d sizeof d 為什麼在不同的平台上得到的值不一樣?3 找規律 21 2 1 1 1 2 3 1 1 2 1 3 1 1 2 問下一行應該填什麼?為什麼?4 linux redhat 的啟動順序?5 c 中虛函式如何...
深信服科技公司2008校園招聘筆試題
1 變數和值的儲存位置 堆 棧 段 資料段等 2 sizeof struct d sizeof d 為什麼在不同的平台上得到的值不一樣?3 找規律 21 2 1 1 1 2 3 1 1 2 1 3 1 1 2 問下一行應該填什麼?為什麼?4 linux redhat 的啟動順序?5 c 中虛函式如何...
深信服c 軟體開發面試筆試
筆試 考試時間2小時 8道選擇不定項 7道填空 3道程式設計 選擇考到的有 多程序 fork 正規表示式 虛擬位址到實體地址的加速裝置 雙向鍊錶的排序 struct和union位元組對齊 指標傳參 引用傳參 其他的像小學奧數題 程式設計有乙個是字尾表示式變中綴 字串去空格 一面40min 四次揮手 ...