| ||||||||||
| 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 | |||||||||
帮忙看看 为什么在用注释掉的 就错 用没注释掉的就ac了附代码:
#include<iostream>
using namespace std;
//int x[]={-2,-2,-1,-1,1,1,2,2};
//int y[]={-1,1,-2,2,-2,2,-1,1};
int x[]={-1,1,-2,2,-2,2,-1,1};
int y[]={-2,-2,-1,-1,1,1,2,2};
int chess[30][30];
int hang,lie,biaozhi;
int L[300],H[300]; //H 是 字母
int k;
void dfs(int h,int l)
{
int i,hh,ll;
if(k == hang*lie)
{
biaozhi = 1;
for(i = 1; i <= k ; i ++)
printf("%c%d",H[i]+'A'-1,L[i]);
printf("\n");
return ;
}
for(i = 0; i <= 7; i ++)
{
ll = l + x[i];
hh = h + y[i];
if(ll > 0 && ll <= lie && hh > 0 && hh <= hang && chess[hh][ll] == 0)
{
chess[hh][ll] = 1;k++;H[k] = hh; L[k] =ll;
dfs(hh,ll);
chess[hh][ll] = 0; k--;
}
if(biaozhi == 1)
break ;
}
if(biaozhi == 1) return ;
}
int main()
{
int n,cas;
int i,j;
cin>>n;
for(cas = 1; cas <= n; cas ++)
{
cin>>lie>>hang; biaozhi = 0;
printf("Scenario #%d:\n",cas);
memset(chess,0,sizeof(chess));
k = 1; chess[1][1] = 1; H[1] = 1; L[1] =1;
dfs(1,1);
if(biaozhi == 0) printf("impossible\n");
printf("\n");
}
return 0;
}
Followed by:
Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator