#include <stdio.h>
int snack[100]={0}, sum[100]={0};
int c=0;
int re(int n); //과자 나누기
int search(int n); //과자 개수 같은지 다른지 검사
void set(int n); //짝수로 만들기
int main(void)
{
int n, i;
scanf(" %d", &n);
for(i=0; i<n; i++)
{
scanf(" %d", &snack[i]);
}
re(n);
printf("%d %d", c, snack[0]);
return 0;
}
int re(int n)
{
if(search(n)==1)
return 0;
c++;
int i;
for(i=0; i<n; i++)
{
if(i==(n-1))
{
snack[i]/=2; //반으로 나누기
sum[0]=snack[i]; //오른쪽 사람에게 줄 쿠키 개수
}
else
{
snack[i]/=2;
sum[i+1]=snack[i];
}
}
for(i=0; i<n; i++)
{
snack[i]+=sum[i]; //받은 쿠키 개수 합산
}
/*printf("\nc=%d\n", c);
for(i=0; i<n; i++)
printf("%d ", snack[i]);
printf("\n-----------------------------------\n");*/
set(n); //짝수로 맞추기
re(n);
return 0;
}
int search(int n)
{
//과자 개수가 같으면 1, 다르면 0 반환
int i;
for(i=1; i<n; i++)
{
if(snack[i]!=snack[0])
return 0;
}
return 1;
}
void set(int n)
{
int i;
for(i=0; i<n; i++)
{
if(snack[i]%2==1) //홀수일 경우 하나 더 받기
snack[i]++;
}
}
2018.06.30 09:35
정올 - 문제은행 - 과자게임(1319)
조회 수 197 추천 수 0 댓글 0