p1947_search_easy.cpp
来自「高手写的所有acm例程 在acm.zju.edu.cn 上的题目的例程」· C++ 代码 · 共 39 行
CPP
39 行
#include <stdio.h>
#include <string.h>
bool edge [25] [25];
int N , M , Max , Len [25] , graph [25] [4];
bool init ()
{
scanf ( "%d%d" , &N , &M );
if ( N == 0 || M == 0 ) return false;
int a , b;
memset ( Len , 0 , sizeof ( Len ));
for ( int i = 0; i < M; i ++ ) scanf ( "%d%d" , &a , &b ) ,
graph [a] [Len [a] ++] = b , graph [b] [Len [b] ++] = a;
return true;
}
void Search ( int t , int depth = 0 )
{
if ( depth > Max ) Max = depth;
for ( int i = 0; i < Len [t]; i ++ ) if ( !edge [t] [graph [t] [i]] ) {
edge [t] [graph [t] [i]] = edge [graph [t] [i]] [t] = true;
Search ( graph [t] [i] , depth + 1 );
edge [t] [graph [t] [i]] = edge [graph [t] [i]] [t] = false;
}
}
main ()
{
while ( init () ) {
Max = 0;
memset ( edge , 0 , sizeof ( edge ));
for ( int i = 0; i < N; i ++ ) Search ( i );
printf ( "%d\n" , Max );
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?