-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathproblem_b.cpp
More file actions
110 lines (109 loc) · 1.72 KB
/
problem_b.cpp
File metadata and controls
110 lines (109 loc) · 1.72 KB
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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
#include<iostream>
#include<vector>
using namespace std;
int main()
{
int q[4][8];
int q_num[4];
for(int i = 0; i < 4; i++)
{
for(int j = 0; j < 8; j++)
{
q[i][j] = 0;
}
q_num[i] = 0;
}
int min = 0;
int car = 48;
while(1)
{
if(min % 15 == 0 && car != 0)
{
q[0][q_num[0]] = 0;
q_num[0]++;
car --;
}
for(int i = 1; i < 4; i++)
{
cout<<"queue:\t";
for(int j = 0; j < 8; j++)
{
cout<<q[i][j]<<"\t";
if(q[i][j] > 0)
q[i][j] ++;
//std::cout<<q[i][j]<<" ";
}
std::cout<<std::endl;
}
for(int i = 0; i < 5; i++)
{
if(q[3][i] == 91)
{
q[3][i] = 0;
q_num[3] --;
}
}
for(int i = 0; i < 8; i++)
{
if(q[2][i] >= 121)
{
//q[2][i] = 0;
//q_num[2] --;
for(int j = 0; j < 5; j++)
{
if(q[3][j] == 0)
{
q[3][j] = 1;
q[2][i] = 0;
q_num[2] --;
q_num[3] ++;
break;
}
}
}
}
//q[1][1] =2;
for(int i = 0; i < 3; i++)
{
if(q[1][i] >= 61)
{
for(int j = 0; j < 8; j++)
{
if(q[2][j] == 0)
{
q[2][j] = 1;
q[1][i] = 0;
q_num[1]--;
q_num[2]++;
break;
}
}
}
}
//cout<<"q_num[1]:\t"<<q_num[1]<<endl;
q_num[1] = 0;
for(int i = 0; i < 3; i++)
{
if(q[1][i] != 0)
q_num[1]++;
}
for(int i = 0; i < 3; i++)
{
if(q_num[1] < 3 && q_num[0] > 0)
{
if(q[1][i] == 0)
{
q[1][i] = 1;
q_num[0] --;
q_num[1] ++;
}
}
}
std::cout<<"queue_1:\t"<<q_num[0]<<"\tqueue_2:\t"<<q_num[1]<<"\tqueue_3:\t"<<q_num[2]<<"\tqueue_4:\t"<<q_num[3]<<endl;
if(q_num[0] == 0 && q_num[1] == 0 && q_num[2] == 0 && q_num[3] == 0 && car == 0)
break;
min ++;
}
std::cout<<"total time:\t"<<min<<endl;
return 0;
}