Online Judge | Problem Set | Authors | Online Contests | User | ||||||
---|---|---|---|---|---|---|---|---|---|---|
Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest |
Re:郁闷 为什么用char 数组就OLE 只能用int 数组吗?贴下代码,求为什么?In Reply To:郁闷 为什么用char 数组就OLE 只能用int 数组吗?贴下代码,求为什么? Posted by:hejunfei at 2012-03-01 23:08:52 >代码有问题,在返回的时候 #include <iostream> > #include <cstdio> > #include <cstring> > using namespace std; > > #define M 11 > > struct point { int x, y; } p[100]; > > char map[M][M]; > bool row[M][M], col[M][M], mat[3][3][M]; > int np; > > void DFS(int num) > { > int i, j; > > if (num == np) { > for (i = 0; i < 9; i++) { > for (j = 0; j < 9; j++) > printf ("%c", map[i][j]); > printf ("\n"); > } > return; > } > > for (i = 1; i <= 9; i++) { > int x = p[num].x; > int y = p[num].y; > if (!row[x][i] && !col[y][i] && !mat[x/3][y/3][i]) { > row[x][i] = col[y][i] = mat[x/3][y/3][i] = true; > map[x][y] = '0' + i; > DFS(num+1); > row[x][i] = col[y][i] = mat[x/3][y/3][i] = false; > map[x][y] = '0'; > } > } > } > > int main() > { > int t, i, j; > > scanf ("%d", &t); > getchar(); > while (t--) { > memset (row, false, sizeof (row)); > memset (col, false, sizeof (col)); > memset (mat, false, sizeof (mat)); > np = 0; > for (i = 0; i < 9; i++) { > gets(map[i]); > for (j = 0; j < 9; j++) { > int num = map[i][j] - '0'; > if (num) > row[i][num] = col[j][num] = mat[i/3][j/3][num] = true; > else { > p[np].x = i; > p[np++].y = j; > } > } > } > DFS(0); > } > return 0; > } Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator