#include <iostream> #include <fstream> #include <string> using namespace std; ifstream fin("input.txt"); ofstream fout("output.txt"); int cnt; void hanoi(int n,char a,char b,char c){ cnt++; if(n>0){ hanoi(n-1,a,b,c); cout << n << "번째 판을"<< a << " ---> " << c << endl; hanoi(n-1,b,a,c); } } main(){ int n; cnt=0; n=3; hanoi(n,'A','B','C'); printf("%d\n",cnt); } /* //다른방법 int m=0; void hanoi(int n,int a,int b){ if(n>0){ hanoi(n-1,a,6-a-b); m++; cout << m << "번째 판을"<< a << " ---> " << b << endl; hanoi(n-1,6-a-b,b); } } main(){ int n; n=3; hanoi(n,1,3); } */
하노이의 탑
2009. 7. 29. 20:58