50162. RPG Queue

難度:2.8/5

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
#include <stdio.h>
#include <stdlib.h>
#include <stdint.h>

#define max(a,b) ((a)>(b)?(a):(b))
#define min(a,b) ((a)<(b)?(a):(b))

typedef struct{
int arr[5000];
int front, rear;
int size;
} cir_array;

cir_array a[3];

int step(int x){
return (x + 1) % 5000;
}

int main(){
for(int i = 0; i < 3; i++) a[i].front = 0, a[i].rear = 0, a[i].size = 0;

int num;
while(scanf("%d", &num) != EOF){
cir_array* this_arr = &a[num % 3];
this_arr->arr[this_arr->rear] = num;
this_arr->rear= step(this_arr->rear);
this_arr->size += 1;

if(a[0].size >= 3 && a[1].size >= 1 && a[2].size >= 1){
for(int i = 0; i < 3; i++){
printf("%d ", a[0].arr[a[0].front]);
a[0].front = step(a[0].front);
a[0].size -= 1;
}
printf("%d %d\n", a[1].arr[a[1].front], a[2].arr[a[2].front]);
a[1].front = step(a[1].front); a[1].size -= 1;
a[2].front = step(a[2].front); a[2].size -= 1;
}
}
}


50162. RPG Queue
https://aaronlin1229.github.io/judgegirl_50162/
Author
Akizumi
Posted on
July 17, 2023
Licensed under