#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)
조회 수 173 추천 수 0 댓글 0