Online JudgeProblem SetAuthorsOnline ContestsUser
Web Board
Home Page
F.A.Qs
Statistical Charts
Problems
Submit Problem
Online Status
Prob.ID:
Register
Update your info
Authors ranklist
Current Contest
Past Contests
Scheduled Contests
Award Contest
User ID:
Password:
  Register

1 <= p * q <= 26 有可能p=1,q=26所以你的就太小了。

Posted by yygy at 2014-06-26 09:21:21 on Problem 2488
In Reply To:这题的测试数据有问题吧!记录数组开10*10一直给我RE,开到100*100就AC了 Posted by:nan5515522 at 2014-06-26 08:39:59
> 一个这么水的DFS吃了快10次RE以为递归退出条件错了呢。。。。
> 后面做这题的兄弟记住了,别相信题中的数组大小,数组就是往大了开!
> 
> #include <iostream>
> #include <algorithm>
> #include <cstdio>
> #include<queue>
> #include<vector>
> using namespace std;
> 
> int dirX[] = {-2, -2, -1, -1,  1, 1,  2, 2};
> int dirY[] = {-1,  1, -2,  2, -2, 2, -1, 1};
> 
> // int visit[10][10];   这里10*10就RE改成下面的100*100就AC
> int visit[100][100];    按理说9*9都足够了(0行0列没用)
> 
> 
> int size, p, q;
> int note1[100], note2[100];
> 
> bool dfs(int x, int y, int pos)
> {
> 	int i, nextX, nextY;
> 	note1[pos] = x;  note2[pos] = y;
> 	if(pos == p * q)
> 		return true;
> 	visit[x][y] = 1;
> 
> 	for(i = 0; i < 8; i++)
> 	{
> 		nextX = x + dirX[i]; nextY = y + dirY[i];
> 		if(nextX >= 1 && nextX <= p
> 		&& nextY >= 1 && nextY <= q)
> 		{
> 			if(visit[nextX][nextY] == -1 && dfs(nextX, nextY, pos + 1))
> 			   return true;
> 		}
> 	}
> 	visit[x][y] = -1;
> 	return false;
> 
> }
> 
> int main()
> {
> 	int i, j,count = 1;
> 	bool flag;
> 	cin >> size;
> 	while(size--)
> 	{
> 		cin >> q >> p;
> 		for(i = 1; i <= p; i++)
> 		{
> 			for(j = 1; j <= q; j++)
> 			{
> 				visit[i][j] =-1;
> 			}
> 		}
> 		
> 		flag =false;
> 		for(i = 1; i <= p; i++)
> 		{
> 			for(j = 1; j <= q; j++)
> 			{
> 				if(dfs(i, j, 1))
> 				{
> 					flag = true;
> 					break;
> 				}
> 			}
> 			if(flag)
> 				break;
> 		}
> 		cout << "Scenario #" << count++ <<":" << endl;
> 		if(flag)
> 		{
> 			for(i = 1; i <= p * q; i++)
> 				cout << (char)(note1[i] - 1 + 'A') << note2[i];
> 			cout << endl;
> 		}
> 		else
> 			cout << "impossible" << endl;
> 		cout << endl;
> 		
> 	}
> 	return 0;
> }

Followed by:

Post your reply here:
User ID:
Password:
Title:

Content:

Home Page   Go Back  To top


All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator