Pagini recente » Cod sursa (job #1961488) | Cod sursa (job #1185939) | Cod sursa (job #951283) | Cod sursa (job #2263732) | 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;
}