Untitled

mail@pastecode.io avatar
unknown
plain_text
13 days ago
16 kB
5
Indexable
Never
Đề bài (Advance):
Netharax - The Black Horse of Abaddon
Abaddon - the Death Knight - Lord of Avernus - has a black horse named Netherax, which gives him power. This horse can go anywhere, across the world, through any dangerous terrain. Netharax stayed by Abaddon from war to war, from battle field to battle field in "Defense of the Ancients".
One day, Abaddon lost his way in Under Lord Play Ground, where the rules of unknown forces covered all places and restrained their power. With the abilities and experiences trained through so many battles in the past, Abaddon eventually saw through the rules of this place.
The terrain was divided into squares like a chess board. All the map included long hallways with exit gates at the end. In each square, there was a pillar hidden with mysterious things, maybe a treasure or maybe a trap.
When he tried to move, he found out that Netherax could not move as his will... Some pillars showed faint light and seemed like he can only go there.
From the pillar where he stood at, there were total 4 pillars he can move to:
- The pillar is 2 steps away from the left in the next row
- The pillar is 2 steps away from the right in the next row
- The pillar next to the right side in 2 rows above
- The pillar next to the left side in 2 rows above
1	0	0	0	6	0	6	0	0
2	0	0	0	0	0	0	0	0
3	0	0	0	0	0	0	0	0
4	0	0	0	0	0	0	0	0
	1	2	3	4	5	6	7	8
In order to escape this evil place, Abaddon decided to ask for help from IO – a super computer. Abaddon, thanks to his acquaintance with "Keeper of the Light", clarified the value of the item existing in every pillar in this corridor.

His data for IO is as follows:
15 8 4 (NxM: size of corridor, X: column position of Abadon and Netherax at the start of the corridor)
The next N lines (Abaddon described the corridor by using numbers) 
6 6 6 6 6 6 6 6
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
 
 

0: Iron Branch	 	5 points
1: Boot of Speed	 	10 points
Boot of Speed * 3
(Phase Boot)	 	50 points
Boot of Travel * 6
(Boot Of Travel)	 	150 points
2:  Hyper Stone	 	30 points
2:  Hyper Stone * 2
(Moon Shard)	 	100 points
3: Dagon	 	20
3: Dagon * 2
(Dagon lv2)	 	50
3: Dagon * 3
(Dagon lv3)	 	100
3: Dagon * 4
(Dagon lv4)	 	200
3: Dagon * (>=5)
(Dagon lv5)	 	500
4: Mask of Madness	 	1000 points (Madness effect)
5: Roshan's Aegis	 	0 point (Resurrection effect)
6: Teleport Portal	 	1 point

0: Stone pillar contains the item 0
1: Stone pillar contains the item 1
2: Stone pillar contains the item 2
3: Stone pillar contains the item 3
4: Stone pillar contains the item 4
5: Stone pillar contains the item 5
6: Stone pillar contains teleport gate

Item 0: Boot of speed
Item 1: Boot of speed
Item 2: Hyper Stone
Item 3: Dagon
Item 4: Mask of Madness
Item 5: Roshan's Aegis

If Netharax moves to any position, that position’s effect will affect him.
If Netharax reaches pillar with item 4, he will go insane. Consequently, Abaddon will lose his mind and then lose the game.
But if there is Roshan's Aegis, Abaddon can stay alive by its resurrection effect (The whole map has only 1 Roshan's Aegis in maximum)
Pick up the Boot of speed, Abaddon and Netharax will get 10 points
Pick up 3 Boots of speed, Abaddon and Netharax will combine into Phase Boot and get 50 points
Pick up 6 Boots of speed, Abaddon and Netharax will combine to be BoT (Boot of Travel) and get 150 points
Pick up Hyper Stone, Abaddon and Netharax will get 30 points
Pick up 2 Hyper Stones, Abaddon and Netharax will combine to become Moon Shard and get 100 points
Pick up Dagon, Abaddon and Netharax will get 20 points
Pick up 2 Dagons, Abaddon and Netharax will get 50 points
Pick up 3 Dagons, Abaddon and Netharax will get 100 points
Pick up 4 Dagons, Abaddon and Netharax will get 200 points
Pick up 5 Dagons, Abaddon and Netharax will get 500 points
(Picking more Dagon does not increase points)
Please help Abaddon go through the corridor to reach the destination in the position of portal No. 6 (teleport back to the arena "Defense of the Ancients")
 

Đề bài (Advance):
Netharax - The Black Horse of Abaddon
Abaddon có 1 chú ngựa đen tên Netherax, nguồn năng lượng của anh ta. Nó có thể đi khắp mọi nơi, băng qua nhiều địa hình hung hiểm. Netherax đã cùng Abaddon trải qua nhiều trận chiến nơi đấu trường "Thượng cổ phòng thủ trận".
Bỗng một ngày Abaddon lạc tới bản đồ UnderLord, nơi các quy tắc bao phủ mọi nơi khiến mọi hành động của anh và Netherax bị kiềm chế lại.
Với khả năng nhìn xa trông rộng đã được luyện tập bằng thói quen bật hackmap, Abaddon nhìn thấy đc điều kỳ diệu ở nơi đây.
Địa hình nơi đây được chia thành những ô vuông như bàn cờ. Cả bản đồ nơi đây tựa như một hành lang dài có những cánh cửa để thoát ra ở cuối hành lang. Trên những ô vuông ở hành lang như tồn tại một điều bí ẩn nào đó, nó như tồn tại cạm bẫy và những đầy những báu vật...
Khi Abaddon định di chuyển thì anh chợt phát hiện ra 1 điều, Netherax không thể di chuyển như bình thường được nữa...
Nó chỉ có thể di chuyển về các hàng ở phía trước ở 4 vị trí:
- Ô tại 1 hàng phía trước lệch về bên trái 2 cột
- Ô tại 1 hàng phía trước lệch về bên phải 2 cột
- Ô tại 2 hàng phía trước lệch về bên trái 1 cột
- Ô tại 2 hàng phía trước lệch về bên phải 1 cột
1	0	0	0	6	0	6	0	0
2	0	0	0	0	0	0	0	0
3	0	0	0	0	0	0	0	0
4	0	0	0	0	0	0	0	0
	1	2	3	4	5	6	7	8
Để thoát khỏi được nơi quỷ quái này, Abaddon quyết định nhờ sự trợ giúp của siêu máy tính IO. Abaddon nhờ sự quen biết của mình với "Keeper of the Light" (Kụ ông thể lực) đã làm rõ được giá trị của những vật tồn tại ở mỗi ô trên hành lang này.
Dữ liệu anh cho IO như sau:
15 8 4(NxM kích thước của hành lang X vị trí cột của Abadon và Netherax ở đầu hành lang)
N dòng tiếp theo (Abaddon mô tả hành lang bằng những con số)
6 6 6 6 6 6 6 6
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0: Iron Branch	 	5 points
1: Boot of Speed	 	10 points
Boot of Speed * 3
(Phase Boot)	 	50 points
Boot of Travel * 6
(Boot Of Travel)	 	150 points
2:  HyperStone	 	30 points
2:  HyperStone * 2
(Moon Shard)	 	100 points
3: Dagon	 	20
3: Dagon * 2
(Dagon lv2)	 	50
3: Dagon * 3
(Dagon lv3)	 	100
3: Dagon * 4
(Dagon lv4)	 	200
3: Dagon * (>=5)
(Dagon lv5)	 	500
4: Mask of Madness	 	1000 points (Madness effect)
5: Roshan's Aegis	 	0 point (Resurrection effect)
6: Teleport Portal	 	1 point

0: Cột đá chứa vật phẩm 0
1: Cột đá chứa vật phẩm 1
2: Cột đá chứa vật phẩm 2
3: Cột đá chứa vật phẩm 3
4: Cột đá chứa vật phẩm 4
5: Cột đá chứa vật phẩm 5
6: Cột đá chứa cổng dịch chuyển

trong đó vật phẩm 0: Boot of speed
trong đó vật phẩm 1: Boot of speed
trong đó vật phẩm 2: Hyper Stone
trong đó vật phẩm 3: Dagon
trong đó vật phẩm 4: Mask of Madness
trong đó vật phẩm 5: Roshan's Aegis

Nếu Netharax di chuyển tới vị trí nào, nó sẽ chịu hiệu ứng của vị trí đó.
Nếu Netharax tới ô số 4, nó sẽ hóa điên và Abaddon sẽ cũng đánh mất lý trí của mình rồi thua cuộc.
Nhưng nếu có Roshan's Aegis, Abaddon có thể tránh qua được 1 kiếp nạn (Cả bản đồ chỉ có tối đa 1 Roshan's Aegis)
Nhặt được Boot of speed Abaddon và Netharax sẽ có 10 điểm
Nhặt được 3 Boot of speed Abaddon và Netharax sẽ kết hợp đc thành Phase Boot và có 50 điểm
Nhặt được 6 Boot of speed Abaddon và Netharax sẽ kết hợp đc thành BoT (Boot of Travel) và có 150 điểm
Nhặt được Hyper Stone Abaddon và Netharax sẽ có 30 điểm
Nhặt được 2 Hyper Stone Abaddon và Netharax sẽ kết hợp đc thành Moon Shard và có 100 điểm
Nhặt được Dagon Abaddon và Netharax sẽ có 20 điểm
Nhặt được 2 Dagon Abaddon và Netharax sẽ có 50 điểm
Nhặt được 3 Dagon Abaddon và Netharax sẽ có 100 điểm
Nhặt được 4 Dagon Abaddon và Netharax sẽ có 200 điểm
Nhặt được 5 Dagon Abaddon và Netharax sẽ có 500 điểm
(Nhặt nhiều Dagon hơn cũng không đc tăng điểm)
Hãy giúp Abaddon vượt qua hành lang để về tới đích ở vị trí portal số 6 (dịch chuyển về với đấu trường "Thượng cổ phòng thủ trận")
Note làm đề: có thể thêm điều kiện (muốn nhặt đc Aegis thì cần đủ X điểm mới đc)


input: 
10
15	8	4
6	6	6	6	6	6	6	6
0	0	0	0	0	0	0	0
0	0	0	0	0	0	0	0
0	0	0	0	0	0	0	0
0	0	0	0	0	0	0	0
0	0	0	0	0	0	0	0
0	0	0	0	0	0	0	0
0	0	0	0	0	0	0	0
0	0	0	0	0	0	0	0
0	0	0	0	0	0	0	0
0	0	0	0	0	0	0	0
0	0	0	0	0	0	0	0
0	0	0	0	0	0	0	0
0	0	0	0	0	0	0	0
0	0	0	0	0	0	0	0
15	8	4
6	6	6	6	6	6	6	6
0	0	0	0	0	0	0	0
0	0	0	0	0	0	0	0
0	0	0	0	0	0	0	0
0	0	0	0	0	0	0	0
0	0	0	0	0	0	0	0
0	0	0	0	0	0	0	0
0	0	0	0	1	0	0	0
0	0	4	0	0	0	0	0
0	0	0	0	0	0	0	0
0	0	0	5	0	0	0	0
0	4	0	0	0	0	0	0
0	0	0	3	0	0	0	0
0	2	0	0	0	0	0	0
0	0	0	1	0	0	0	0
20	10	4
6	6	6	6	6	6	6	6	6	6
2	2	2	2	2	2	2	2	2	2
2	2	2	2	2	2	2	2	2	2
2	2	2	2	2	2	3	2	2	2
2	2	2	2	2	2	2	2	2	2
2	2	2	2	2	2	2	2	2	2
2	2	2	2	2	2	2	2	2	2
2	2	2	2	2	2	2	2	2	2
2	2	2	2	2	2	2	2	2	2
2	2	2	2	2	2	2	2	2	2
4	4	4	3	4	4	4	4	4	4
4	3	4	4	3	4	4	4	4	4
4	4	3	4	4	4	4	4	4	4
2	2	2	2	2	2	2	2	2	2
2	2	2	2	2	2	2	2	2	2
2	2	2	2	2	2	2	2	2	2
2	2	2	2	2	2	2	2	2	2
2	2	2	2	2	2	2	2	2	2
2	2	2	2	2	5	2	2	2	2
2	2	2	2	2	2	2	2	2	2
20	10	4
6	6	6	6	6	6	6	6	6	6
4	1	0	3	3	0	4	3	0	0
2	1	1	2	3	0	0	3	4	3
3	2	1	2	4	3	3	4	0	4
3	4	4	4	3	2	2	3	3	1
2	3	1	3	1	0	3	4	2	0
0	1	4	2	3	3	4	4	4	2
1	2	2	0	3	1	2	2	2	1
0	0	1	0	1	0	0	2	3	0
1	2	2	0	4	4	4	3	4	0
3	1	0	0	1	2	1	2	0	0
0	3	2	1	1	2	3	2	1	1
1	3	0	0	1	2	0	4	4	4
4	0	4	4	4	3	0	0	0	2
2	2	4	3	1	0	1	0	4	0
2	2	1	4	0	4	1	0	3	3
0	3	4	1	3	2	1	3	1	1
4	2	2	2	2	1	2	4	2	4
3	4	0	0	2	3	0	2	3	4
1	2	4	3	4	0	3	0	0	0
20	10  7
6	6	6	6	6	6	6	6	6	6
0	0	0	1	1	3	4	2	2	1
3	2	2	1	3	3	2	4	3	1
1	2	0	4	0	1	4	4	1	4
1	2	1	2	3	3	1	0	4	3
1	4	4	4	2	1	0	1	3	2
4	0	1	1	1	2	0	2	3	0
1	2	4	4	2	2	4	1	0	1
3	1	2	3	0	0	3	0	1	3
2	0	0	0	4	2	1	1	2	4
1	4	4	1	3	3	1	1	3	0
1	2	3	4	1	4	2	0	4	4
1	4	4	4	1	3	2	3	2	2
4	3	0	1	4	1	3	3	0	1
1	2	1	3	1	1	3	4	0	1
0	3	0	4	0	2	0	2	2	4
1	2	3	3	2	4	4	4	1	1
1	4	4	0	0	4	3	0	0	4
4	4	4	1	2	0	4	3	2	0
3	2	0	1	0	0	3	3	4	2
20	10	4
6	6	6	6	6	6	6	6	6	6
4	1	0	3	3	0	4	3	0	0
2	1	1	2	3	0	0	3	4	3
3	2	1	2	4	3	3	4	0	4
3	4	4	4	3	2	2	3	3	1
2	3	1	3	1	0	3	4	2	0
0	1	4	2	3	3	4	4	4	2
1	2	2	0	5	1	2	2	2	1
0	0	1	0	1	0	0	2	3	0
1	2	2	0	4	4	4	3	4	0
3	1	0	0	1	2	1	2	0	0
0	3	2	1	1	2	3	2	1	1
1	3	0	0	1	2	0	4	4	4
4	0	4	4	4	3	0	0	0	2
2	2	4	3	1	0	1	0	4	0
2	2	1	4	0	4	1	0	3	3
0	3	4	1	3	2	1	3	1	1
4	2	2	2	2	1	2	4	2	4
3	4	0	0	2	3	0	2	3	4
1	2	4	3	4	0	3	0	0	0
20	10  7
6	6	6	6	6	6	6	6	6	6
0	0	0	1	1	3	4	2	2	1
3	2	2	1	3	3	2	4	3	1
1	2	0	4	0	1	4	4	1	4
1	2	1	2	3	3	1	0	4	3
1	4	4	4	2	1	0	1	3	2
4	0	1	1	1	2	0	2	3	0
1	2	4	4	2	2	4	1	0	1
3	1	5	3	0	0	3	0	1	3
2	0	0	0	4	2	1	1	2	4
1	4	4	1	3	3	1	1	3	0
1	2	3	4	1	4	2	0	4	4
1	4	4	4	1	3	2	3	2	2
4	3	0	1	4	1	3	3	0	1
1	2	1	3	1	1	3	4	0	1
0	3	0	4	0	2	0	2	2	4
1	2	3	3	2	4	4	4	1	1
1	4	4	0	0	4	3	0	0	4
4	4	4	1	2	0	4	3	2	0
3	2	0	1	0	0	3	3	4	2
20	10	4
6	6	6	6	6	6	6	6	6	6
1	1	1	1	1	1	1	1	1	1
1	1	1	1	1	1	1	1	1	1
1	1	1	1	1	1	1	1	1	1
1	1	1	1	1	1	1	1	1	1
1	1	1	1	1	1	1	1	1	1
1	1	1	1	1	1	1	1	1	1
1	1	1	1	1	1	1	1	1	1
1	1	1	1	1	1	1	1	1	1
1	1	1	1	1	1	1	1	1	1
1	1	1	1	1	1	1	1	1	1
1	1	1	1	1	1	1	1	1	1
1	1	1	1	1	1	1	1	1	1
1	1	1	1	1	1	1	1	1	1
1	1	1	1	1	1	1	1	1	1
1	1	1	1	1	1	1	1	1	1
1	1	1	1	1	1	1	1	1	1
1	1	1	1	1	1	1	1	1	1
1	1	1	1	1	1	1	1	1	1
1	1	1	1	1	1	1	1	1	1
20	10	4
6	6	6	6	6	6	6	6	6	6
2	2	2	2	2	2	2	2	2	2
2	2	2	2	2	2	2	2	2	2
2	2	2	2	2	2	2	2	2	2
2	2	2	2	2	2	2	2	2	2
2	2	2	2	2	2	2	2	2	2
2	2	2	2	2	2	2	2	2	2
2	2	2	2	2	2	2	2	2	2
2	2	2	2	2	2	2	2	2	2
2	2	2	2	2	2	2	2	2	2
2	2	2	2	2	2	2	2	2	2
2	2	2	2	2	2	2	2	2	2
2	2	2	2	2	2	2	2	2	2
2	2	2	2	2	2	2	2	2	2
2	2	2	2	2	2	2	2	2	2
2	2	2	2	2	2	2	2	2	2
2	2	2	2	2	2	2	2	2	2
2	2	2	2	2	2	2	2	2	2
2	4	2	2	2	4	2	2	2	2
2	2	2	2	2	2	2	2	2	2
20	10	4
6	6	6	6	6	6	6	6	6	6
2	2	2	2	2	2	2	2	2	2
2	2	2	2	2	2	2	2	2	2
2	2	2	2	2	2	2	2	2	2
2	2	2	2	2	2	2	2	2	2
2	2	2	2	2	2	2	2	2	2
2	2	2	2	2	2	2	2	2	2
2	2	2	2	2	2	2	2	2	2
2	2	2	2	2	2	2	2	2	2
2	2	2	2	2	2	2	2	2	2
4	4	4	4	4	4	4	4	4	4
4	4	4	4	4	4	4	4	4	4
4	4	4	4	4	4	4	4	4	4
2	2	2	2	2	2	2	2	2	2
2	2	2	2	2	2	2	2	2	2
2	2	2	2	2	2	2	2	2	2
2	2	2	2	2	2	2	2	2	2
2	2	2	2	2	2	2	2	2	2
2	2	2	2	2	5	2	2	2	2
2	2	2	2	2	2	2	2	2	2
20	10	4
6	6	6	6	6	6	6	6	6	6
3	3	3	3	3	3	3	3	3	3
3	3	3	3	3	3	3	3	3	3
3	3	3	3	3	3	3	3	3	3
3	3	3	3	3	3	3	3	3	3
3	3	3	3	3	3	3	3	3	3
3	3	3	3	3	3	3	3	3	3
3	3	3	3	3	3	3	3	3	3
3	3	3	3	3	3	3	3	3	3
3	3	3	3	3	3	3	3	3	3
3	3	3	3	3	3	3	3	3	3
3	3	3	3	3	3	3	3	3	3
3	3	3	3	3	3	3	3	3	3
3	3	3	3	3	3	3	3	3	3
3	3	3	3	3	3	3	3	3	3
3	3	3	3	3	3	3	3	3	3
3	3	3	3	3	3	3	3	3	3
3	3	3	3	3	3	3	3	3	3
3	3	3	3	3	3	3	3	3	3
3	3	3	3	3	3	3	3	3	3



output:
#1 71
#2 1106
#3 1751
#4 936
#5 986
#6 1821
#7 1761
#8 461
#9 901
#10 1731


code:
#define _CRT_SECURE_NO_WARNINGS
#include<iostream>

using namespace std;

int N=0, M=0, X=0 ,res = -1;
int m[50][20] = {-1};
int dx[] = { -1,-1,-2,-2 }, 
	dy[] = { 2,-2,1,-1 }, 
	dagon[] = { 0,20,50,100,200,500 };
int treasure[7] = {0};

int checkBag() {
	int sum = 0;
	sum += treasure[0] * 5;
	// BoT
	sum += (treasure[1] / 6) * 150;
	int tmp = treasure[1] % 6;
	// Phase Boot
	sum += (tmp / 3) * 50;
	// Boot of Speed
	sum += (tmp % 3) * 10;
	// Moon Shard
	sum += (treasure[2] / 2) * 100;
	// Hyper Stone
	sum += (treasure[2] % 2) * 30;

	//This skill is make static value (as the dx dy above you've known)
	// More than 5 Dagon is useless
	tmp = treasure[3] > 5 ? 5 : treasure[3];

	// Add the dagon value
	sum += dagon[tmp];
	// Haha you got the big once
	sum += treasure[4] * 1000;
	// Final is portal
	sum += 1; // 1 point for fun
	return sum;
}

void letJump(int idx, int idy,int step) {
	//Haha i found the portal
	if (m[idx][idy] == 6) {
		//let check our bags
		int val = checkBag();
		if (val > res) {
			res = val;
		}
		return;
	}
	int nx1 = idx, ny1 = idy;
	for (int index = 0; index < 4; index++) {
		// Where will we go?
		nx1 = idx + dx[index];
		ny1 = idy + dy[index];
		if (nx1 >= 0 && ny1 >= 0 && ny1 < M) {
			// Oh no we hit the Mask of Madness
			if (m[nx1][ny1] == 4) {
				// You dont' have Aegis
				if (treasure[5] == 0) {
					continue;
				}
				// Lost an Aegis
				treasure[5]--;
			}
			treasure[m[nx1][ny1]]++;
			letJump(nx1, ny1, step + 1);
			treasure[m[nx1][ny1]]--;
			if (m[nx1][ny1] == 4) {
				treasure[5]++;
			}
		}
	}
}

int main(int argc, char** argv)
{
	int test_case;
	int T;
	cin >> T;
	for (test_case = 1; test_case <= T; ++test_case)
	{
		cin >> N >> M >> X;
		//Input matrix
		for (int i = 0; i < N; i++) {
			for (int j = 0; j < M; j++) {
				cin >> m[i][j];
			}
		}
		for (int i = 0; i < 7; i++) {
			treasure[i] = 0;
		}
		res = -1;
		treasure[m[N - 1][X - 1]]++;
		letJump(N - 1, X - 1, 1);
		cout << "#" << test_case << " " << res << endl;
	}
	return 0;
}
Leave a Comment