Pagini recente » Cod sursa (job #1790839) | Cod sursa (job #2540146) | Cod sursa (job #2482192) | Cod sursa (job #2195130) | Cod sursa (job #1307620)
#include <fstream>
using namespace std;
ifstream in("hanoi.in");
ofstream out("hanoi.out");
int discuri, tija[4][21], vf[4];
void initializare() {
int i;
for (i=1; i<=discuri; i++) {
tija[1][i] = discuri-i+1;
vf[1]++;
}
}
void hanoi(int n, int sursa, int dest, int aux) {
if (n==1) {
out <<tija[sursa][vf[sursa]] <<" " <<sursa <<" " <<dest <<"\n";
tija[dest][++vf[dest]] = tija[sursa][vf[sursa]--];
}
else {
hanoi(n-1, sursa, aux, dest);
hanoi(1, sursa, dest, aux);
hanoi(n-1, aux, dest, sursa);
}
}
int main()
{
in >> discuri;
initializare();
hanoi(discuri,1,2,3);
return 0;
}