#include <stdio.h>
#define MaxData 8
int NumBuff[MaxData];
#define MaxQueue 100000
int Queue[MaxQueue];
int front = -1, rear = -1;
void printfQ() {
printf("Q : ");
for (int i = front + 1; i <= rear; i++) {
printf("%d ", Queue[i]);
}
printf("\n");
}
void cycles() {
int i = 0, temp;
int final_data = 1;
while (final_data) {
front = (front + 1) % MaxQueue;
temp = Queue[front] - (i % 5 + 1);
if (temp <= 0) {
temp = 0;
final_data = 0;
}
rear = (rear + 1) % MaxQueue;
Queue[rear] = temp;
i++;
}
}
int main(void)
{
freopen("input.txt", "r", stdin);
int test_case, testNum, min, min_temp;
int T = 10, i, j;
setbuf(stdout, NULL);
for (test_case = 1; test_case <= T; ++test_case)
{
front = -1, rear = -1;
min = 1000000;
scanf("%d ", &testNum);
for (i = 0; i < MaxData; i++) {
scanf("%d ", &NumBuff[i]);
min_temp = NumBuff[i] / 15;
if (min > min_temp) min = min_temp;
}
min--;
for (i = 0; i < MaxData; i++) {
Queue[++rear] = NumBuff[i] - min * 15;
}
// printf("\n");
// printfQ();
cycles();
// printfQ();
printf("#%d ", test_case);
for (i = front + 1; i <= rear; i++) {
printf("%d ", Queue[i]);
}
printf("\n");
}
return 0; //정상종료시 반드시 0을 리턴해야 합니다.
}
댓글