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 |
想哭的冲动 帮帮我 输入4 4咋会变成这样#include<iostream> using namespace std; #define MAX 50 int mark[MAX][MAX]; int knight_hang[MAX]; int knight_lie[MAX]; int x, y; void dfs(int i, int j, int p, int q) { if(i < 0 || i >= p || j < 0 || j >= q || mark[i][j] == 1) return ; mark[i][j] = 1; //printf("%c%d", j + 65, i + 1); knight_hang[x ++] = i; knight_lie[y ++] = j; dfs(i + 2, j - 1, p, q); //天呐 字典顺序 不想活了。。。。 dfs(i - 2, j - 1, p, q); dfs(i + 1, j - 2, p, q); dfs(i - 1, j - 2, p, q); dfs(i + 2, j + 1, p, q); dfs(i - 2, j + 1, p, q); dfs(i + 1, j + 2, p, q); dfs(i - 1, j + 2, p, q); } int main() { int i, j, p, q; int N; cin >> N; for(j = 1; j <= N; j ++) { memset(mark, 0, sizeof(mark)); memset(knight_hang, 0, sizeof(knight_hang)); memset(knight_lie, 0, sizeof(knight_lie)); x = y = 0; cin >> p >> q; dfs(0, 0, p, q); cout << "Scenario #" << j << ":" << endl; //cout << x << endl; if(x == p * q) for(i = 0; i < x; i ++) { printf("%c", knight_lie[i] + 65); printf("%d", knight_hang[i] + 1); } else cout << "impossible"; cout << endl; cout << endl; //竟然还空一行。。贱!! } return 0; } Followed by:
Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator