ëŠ�ë‚€ì � ë°� 설명 ¶
.. 열심히 만들어서 완성했�때.. 어�지 쉽게 �나는 듯 했다..
그러나!! ì•Œê³ ë³´ë‹ˆ 왼쪽과 오른쪽ì�„ êº¼ê¾¸ë¡œë³´ê³ ìƒ�ê°�í–ˆë�˜ê²ƒ...
.. 한번 ìƒ�ê°�하기는 쉽지만, ìƒ�ê°�ì�„ ê³ ì¹˜ê¸°ëŠ” ì–´ë µë‹¤ê³ ..
ê³ ì¹˜ëŠ”ë�° 머리아í�¼ë”°.ã…Ž
ì�´ 소스는 2번씩 뒤집는걸 기본으로 한다. (예외ì �으로 ë��ì—� 있ì�„때는 한번 안뒤집는다.)
ë§Œë“ ì�´ì�˜ 귀차니즘으로 한회ì�˜ 계산ì�„ 줄ì�¸ 소스..후후후..
그럼..ㅎ
그러나!! ì•Œê³ ë³´ë‹ˆ 왼쪽과 오른쪽ì�„ êº¼ê¾¸ë¡œë³´ê³ ìƒ�ê°�í–ˆë�˜ê²ƒ...
.. 한번 ìƒ�ê°�하기는 쉽지만, ìƒ�ê°�ì�„ ê³ ì¹˜ê¸°ëŠ” ì–´ë µë‹¤ê³ ..
ê³ ì¹˜ëŠ”ë�° 머리아í�¼ë”°.ã…Ž
ì�´ 소스는 2번씩 뒤집는걸 기본으로 한다. (예외ì �으로 ë��ì—� 있ì�„때는 한번 안뒤집는다.)
ë§Œë“ ì�´ì�˜ 귀차니즘으로 한회ì�˜ 계산ì�„ 줄ì�¸ 소스..후후후..
그럼..ㅎ
소스 ¶
~cpp
#include <stdio.h>
#include <string.h>
void print_flap(char*, int);
const int SIZE_BUFFER=100;
void main()
{
while(1)
{
int number_cake=0;
char cakes_size[SIZE_BUFFER];
printf("팬케ì�´í�¬ì�˜ í�¬ê¸°ë¥¼ 순서대로 ìž…ë ¥í•´ì£¼ì„¸ìš”. (0ì�€ 종료 ë˜�는 ìž…ë ¥ì™„ë£Œ)\n>>");
while (1)
{
scanf("%d",cakes_size+number_cake);
if (0==cakes_size[number_cake])
break;
++number_cake;
}
if (0==number_cake)
break;
print_flap(cakes_size, number_cake);
}
}
void print_flap(char* cakes_size, int number_cake)
{
printf ("ê²°ê³¼ : ");
for (register int i=number_cake-1; i>=0; --i)
{
int maximum=i;
for (register int j=0; j<=i; ++j)
{
if (cakes_size[maximum]<cakes_size[j])
maximum=j;
}
if (maximum!=i)
{
if (maximum!=0)
printf("%d ",number_cake-maximum);
printf("%d ",number_cake-i);
char temp[SIZE_BUFFER];
strcpy(temp,cakes_size);
for (register j=0; j<=i; ++j)
{
if (j<=maximum)
cakes_size[j-maximum+i]=temp[j];
else
cakes_size[i-j]=temp[j];
}
}
}
printf ("0 \n");
}










