摘要: 找一条从起点到终点的最短移动序列。首先计算出起点到每个节点的最短距离(未完待续)#define SIZE 6int mat[SIZE][SIZE], vis[SIZE][SIZE];int que[SIZE*SIZE][2];int addNode(int x0, int y0, int x, int y, int rear) { if (( x < 0 ) || ( y < 0 ) || ( x >= SIZE ) || ( y >= SIZE )) return rear; if (( mat[x][y] < 0 )||( vis[x][y])) return 阅读全文
posted @ 2012-12-05 22:55 tsubasa_wp 阅读(1711) 评论(0) 推荐(0) 编辑
摘要: 输入一个n*n的黑白图像,(1表示黑色,0表示白色),统计其中相连块的个数。例如:100100001010000000110000111000010100上面矩阵所示图形中有3块黑色图像。解答: 用递归求解。从每个未被访问过的黑格子除法, 递归访问所有相连的八个黑格子。#define SIZE 6int mat[SIZE][SIZE], vis[SIZE][SIZE];void dfs( int x, int y) { if (( x < 0 ) || ( y < 0 ) || ( x >= SIZE ) || ( y >= SIZE )) return; if (( 阅读全文
posted @ 2012-12-05 21:55 tsubasa_wp 阅读(255) 评论(0) 推荐(0) 编辑
摘要: void build(int n, char*s1, char*s2, char*s) { if (n<=0) return; int p = strchr(s2, s1[0]) - s2; build(p, s1 + 1, s2, s); build(n-p-1, s1 + p + 1, s2 + p + 1, s + p); s[n-1] = s1[0];}int main () { char s1[100], s2[100]; while(scanf("%s%s", s1, s2) == 2) { int n = strlen(s... 阅读全文
posted @ 2012-12-05 21:26 tsubasa_wp 阅读(175) 评论(0) 推荐(0) 编辑
摘要: typedef struct TNode{ int have_value; int v; struct TNode *left, *right;} Node;Node *root;Node* newNode() { Node *u = (Node *)malloc(sizeof(Node)); if ( u != NULL ) { u -> have_value = 0; u -> left = u -> right = NULL; } return u;}void addNode( int v ) { Node *n... 阅读全文
posted @ 2012-12-05 15:54 tsubasa_wp 阅读(221) 评论(0) 推荐(0) 编辑
摘要: CHAR_BIT: 8CHAR_MAX: 127CHAR_MIN: -128SCHAR_MAX: 127SCHAR_MIN: -128UCHAR_MAX: 255SHRT_MAX: 32767SHRT_MIN: -32768USHRT_MAX: 65535INT_MAX: 2147483647INT_MIN: -2147483648UINT_MAX: 4294967295LONG_MAX: 9223372036854775807LONG_MIN: -9223372036854775808ULONG_MAX: 18446744073709551615LLONG_MAX: 9223372036.. 阅读全文
posted @ 2012-12-05 10:18 tsubasa_wp 阅读(2646) 评论(0) 推荐(0) 编辑