Untitled

mail@pastecode.io avatar
unknown
plain_text
14 days ago
3.8 kB
1
Indexable
Never
[Đầu vào]

- Dòng đầu tiên chứa số trường hợp thử nghiệm T (T <= 50)

- Mỗi trường hợp thử nghiệm:

          + Dòng đầu tiên chưa số ghế trên tàu N (10 <= N <= 60)

          + 3 dòng tiếp theo chưa thông tin của 3 cửa lên tàu :

                    > Vị trí cửa P ( 1 <= P <= N)

                    > Số lượng hành khách đang chờ ở cửa C ( 1 <= C <= 20 )

 

[Đầu ra]

Tổng di chuyển nhỏ nhất của tất cả các hành khách

Case #1

18

Case #2

25

Case #3

57

Case #4

86

Case #5

339
-----------------------Input-----------------------
50
10
4 5
6 2
10 2
10
8 5
9 1
10 2
24
15 3
20 4
23 7
39
17 8
30 5
31 9
60
57 12
31 19
38 16
10
2 2
8 3
5 2
10
9 3
3 3
5 2
10
8 8
2 1
6 1
10
2 2
5 2
3 2
10
2 2
5 2
4 2
20
12 5
19 6
10 2
20
16 4
15 3
4 4
20
14 2
5 6
2 5
20
8 4
5 4
3 2
20
4 5
2 5
10 6
20
11 5
3 5
9 3
20
5 4
9 3
7 4
20
11 4
7 3
2 4
20
4 1
5 3
15 5
20
17 1
12 4
9 3
30
14 9
18 3
29 10
30
12 10
4 9
6 5
30
1 4
28 7
27 2
30
6 1
15 10
23 8
30
4 7
28 1
13 2
30
7 6
6 5
18 2
30
23 2
21 5
11 7
30
11 8
28 8
12 8
30
18 10
4 10
6 9
30
12 7
19 7
3 1
40
14 1
9 4
21 5
40
11 11
40 8
25 10
40
36 11
2 12
3 17
40
15 2
21 9
37 20
40
29 3
5 2
2 11
40
19 6
21 13
29 11
40
14 11
9 4
4 11
40
18 10
14 12
35 8
40
12 10
1 6
10 10
40
24 8
25 6
9 1
50
3 6
46 8
36 12
50
38 9
15 1
4 3
50
19 15
31 2
47 6
50
49 9
10 7
8 11
50
43 15
39 10
30 7
60
12 17
16 12
29 3
60
55 20
33 20
16 20
60
27 10
36 3
54 5
60
37 20
42 20
19 20
60
60 13
18 10
37 16
-----------------------Out-----------------------
Case #1
18
Case #2
25
Case #3
57
Case #4
86
Case #5
339
Case #6
11
Case #7
13
Case #8
33
Case #9
9
Case #10
9
Case #11
33
Case #12
25
Case #13
42
Case #14
21
Case #15
64
Case #16
31
Case #17
27
Case #18
21
Case #19
18
Case #20
14
Case #21
85
Case #22
150
Case #23
41
Case #24
60
Case #25
23
Case #26
42
Case #27
34
Case #28
104
Case #29
202
Case #30
39
Case #31
20
Case #32
112
Case #33
433
Case #34
227
Case #35
79
Case #36
163
Case #37
155
Case #38
147
Case #39
163
Case #40
62
Case #41
87
Case #42
35
Case #43
89
Case #44
133
Case #45
229
Case #46
235
Case #47
416
Case #48
51
Case #49
604
Case #50
206
------------------------------
#include<iostream>
using namespace std;
int n;
int gatePerson[4];
int gate[4];
int gateToado[4];
int visited[62];
int visitedGate[4];
int countt, minn;
int a[20];
void init(){
	for(int i=1; i<=n; i++){
		visited[i]=0;
	}
}
void initA(int x){
	for(int i=1; i<=x; i++){
		visited[a[i]]=0;
	}
}
int abs(int x, int y){
	if(x>y) return x-y;
	return y-x;
}
void backtrackTau(int x, int countCus){
	for(int i=0; i<n; i++){
		if(visited[gateToado[gate[x]]-i]==0 && )
	}
}
void backtrack(int g){
	if(g==4){
		backtrackTau(1, 0);
		return;
	}
	for(int i=1; i<=3; i++){
		if(visitedGate[i]==0){
			visitedGate[i] = 1;
			gate[g]=i;
			backtrack(g+1);
			visitedGate[i]=0;
		}
	}
}
void sapxep(){
	int temp;
	for(int i=1; i<3; i++){
		for(int j=i+1; j<=3; j++){
			if(gateToado[i]>gateToado[j]){
				temp = gateToado[i];
				gateToado[i] = gateToado[j];
				gateToado[j] = temp;
			}
		}
	}
}
int main(){
	int t;
	cin>>t;
	for(int tc=1; tc<=t; tc++){
		cin>>n;
		for(int i=1; i<=3; i++){
			cin>>gateToado[i];
			cin>>gatePerson[i];
			visitedGate[i]=0;
		}
		
		sapxep();
		for(int i=1; i<=3; i++){
			gate[i] = i;
		}
		countt=0; minn=10000;
		backtrack(1);
		cout<<minn<<endl;
	}
	return 0;
}
Leave a Comment