오라 출력 경로 --dfs 템플릿

560 단어
다음은 코드입니다. 이것은 오라 통로와 오라 회로를 동시에 적용합니다.그러나 인쇄가 필요한 것이 오라 통로라면 메인 프로그램에서 호출된 파라미터가 도로의 출발점이어야 한다.또한 인쇄의 순서가 역순으로 되어 있기 때문에 이 코드를 실제로 사용할 때 printf 문장을 하나의push 문장으로 바꾸어 (u, v)를 창고에 눌러야 한다.
코드는 다음과 같습니다.
<span style="font-size:18px;">void euler(int u){
	for(int v=0;v<n;v++){
		if(G[u][v]&&!vis[u][v]){
			vis[u][v]=vis[v][u]=1;
			euler(v);
			printf("%d %d
",u,v); } } }</span>

비록 위의 코드는 적당하지만
무방향도에 사용하지만 유방향도로 바꾸기 어렵지 않습니다:vis[u][v]=vis[v][u]=1;vis[u][v]로 변경하면 됩니다.

좋은 웹페이지 즐겨찾기