c语言深度优先搜索写[b]三连击[/b]那道题本机调试一切ok但是提交时就是显示编译错误什么鬼
[codec]
#include <stdio.h>
int a[10],book[10],n;
int main()
{
n=9;
dfs(1);
return 0;
}
void dfs(int step)
{
int i;
if(step==10)
{
if( (a[0]*100+a[1]*10+a[2])*3==(a[6]*100+a[7]*10+a[8]) )
{
if((a[0]*100+a[1]*10+a[2])*2==(a[3]*100+a[4]*10+a[5]) )
printf("%d%d%d %d%d%d %d%d%d\n",a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);
}
return;
}
for(i=1;i<=n;i++)
{
if(book[i]==0)
{
book[i]=1;
a[step-1]=i;
dfs(step+1);
book[i]=0;
}
}
return;
}
[/codec] 告诉我编译失败
foo.cpp: In function `int main()':
foo.cpp:7: error: `dfs' undeclared (first use this function)
foo.cpp:7: error: (Each undeclared identifier is reported only once for each function it appears in.)
foo.cpp: In function `void dfs(int)':
foo.cpp:13: error: `void dfs(int)' used prior to declaration
foo.cpp:36:2: warning: no newline at end of file