#include <iostream>
using namespace std;
int run_ladder( int level = 0, int index = 0 )
{
if( level >= 4 ) return 1;
index += ++level;
return run_ladder( level, index ) + run_ladder( level, index + 1 );
}
int run_ladder_iteration()
{
static char output[6];
typedef struct
{
int level, index;
}
CONTEXT;
CONTEXT stack[5], now;
int sp = 1;
int result = 0;
stack[0] = { 0, 0 };
while( sp )
{
now = stack[--sp];
while( 1 )
{
output[ now.level ] = 'A' + now.index;
if( now.level >= 4 )
{
cout << output << endl;
break;
}
now.index += ++now.level;
stack[sp++] = { now.level, now.index + 1 };
}
result++;
}
return result;
}
int main()
{
cout << run_ladder() << endl;
cout << run_ladder_iteration() << endl;
return 0;
}
한심한 문제.
코세 갑 ㄷㄷ
코드 깔끔하시네요 ㄷㄷ