Lầu 18- Quán trà đá: Tất tần tật. . . Tuốt tuồn tuột - Chuyên giải đáp, t.ư vấn mọi vấn đề. . .

Status
Not open for further replies.

coc2coc

Phàm Nhân
Ngọc
60,18
Tu vi
0,00
:009::009: ca thua rồi á
Mấy bài kiểu này làm đến hơn 20 năm trước rồi, giờ chả nhớ gì :cuoichet:)
Bài này ko vét cạn được do với n = 20 thì có 19! cách xếp => phải dùng thuật toán gì đấy lọc bớt số lần vét. Tùy vào ông thầy đã dạy em cái gì nữa :cuoichet:
Em có thể ứng dụng thuật toán Dijkstra, tham khảo ở đây.
Mà anh thắc mắc sao 21t còn giải cái này ta. Bài kiểu này chỉ dành cho bọn gà chọi thi hsg hồi cấp 3 thôi mà
 

Tiểu Hắc

Luyện Khí Trung Kỳ
Chuyển Ngữ Quán Thông
Ngọc
4,78
Tu vi
30,00
Chào mừng Festival hoa năm 2012. Ban tổ chức lễ hội xây dựng một sân khấu ngoài trời. Để tổ chức các hoạt động ca nhạc vào ban đêm các thợ thi công cần bắt nối tiếp n bóng đèn quanh sân khấu. Em hãy giúp ban tổ chức tìm cách bắt bóng đèn để tốn ít dây điện nhất.
Pile inp
dòng 1 chứa số bóng đèn n (1=<n<=20) và số đường đi m của dây điện trong mạng lưới chiếu sáng
- m dòng tiếp theo, mỗi dòng ghi số hiệu hai bóng đèn có đường đi trực tiếp và khoảng cách dây điện nối giữa chúng
file out
ghi cách đi của dây điện em vừa tìm được
File inp file out
5 10 1->2->5->3->4->1
1 2 2 số mét dây:24
1 3 5
1 4 4
1 5 6
2 3 7
2 4 11
2 5 9
3 4 9
3 4 2
3 5 7
4 5 8
Chỗ em tô đen là câu hỏi í :060:
Hắc không học Tin học lập trình nhiều, cả cấp 3 lẫn đại học chỉ học chút đại cương về ngôn ngữ lập trình thôi. Bài này kiểu như 1 bài cấp 3 hóc búa nào đó, Hắc cũng chỉ lập Thuật toán theo những gì mình hiểu, đúng hay sai Ủi tự test nhé.
Code:
Bước 1: Nhập chiều dài dây điện giữa các bóng đèn:
l(1,2)=l(2,1)=…
l(1,3)=l(3,1)=…
l(1,4)=l(4,1)=…
…
Bước 2: a  1
b2, c3, d4, e5
i0, Lnn=0
Bước 3: Ee
Bước 4: Dd
Bước 5: Bb
Bước 6: ii+1
L(i)=l(a,b)+l(b,c)+l(c,d)+l(d,a)
Bước 7: Nếu Li=Lnn thì chuyển sang bước 18
Ngược lại, chuyển sang bước 8.
Bước 8: tb, bc, ct
Bước 9: Nếu: b=B chuyển bước 10
Ngược lại quay về bước 6.
Bước 10: tb, bd, dt
Bước 11: Nếu: d=D chuyển sang bước 12.
Ngược lại quay về bước 5.
Bước 12: tb, be, et
Bước 13: Nếu: e=E chuyển sang bước 14
Ngược lại quay về bước 4.
Bước 14: m1, Lnn=L1
Bước 15: mm+1
Bước 16: Nếu m>i thì quay lại bước 2.
Nếu m=<i chuyển bước 17.
Bước 17: Nếu: L(m) < Lnn
Thì: LnnL(m).
Quay lại bước 15.
Bước 18: Cách đi của dây điện là: abcdea
Hoặc: aedcba.
Chiều dài dây ngắn nhất là Lnn.
 

Shanks

Phàm Nhân
Ngọc
-14.097,51
Tu vi
0,00
Hắc không học Tin học lập trình nhiều, cả cấp 3 lẫn đại học chỉ học chút đại cương về ngôn ngữ lập trình thôi. Bài này kiểu như 1 bài cấp 3 hóc búa nào đó, Hắc cũng chỉ lập Thuật toán theo những gì mình hiểu, đúng hay sai Ủi tự test nhé.
Code:
Bước 1: Nhập chiều dài dây điện giữa các bóng đèn:
l(1,2)=l(2,1)=…
l(1,3)=l(3,1)=…
l(1,4)=l(4,1)=…
…
Bước 2: a  1
b2, c3, d4, e5
i0, Lnn=0
Bước 3: Ee
Bước 4: Dd
Bước 5: Bb
Bước 6: ii+1
L(i)=l(a,b)+l(b,c)+l(c,d)+l(d,a)
Bước 7: Nếu Li=Lnn thì chuyển sang bước 18
Ngược lại, chuyển sang bước 8.
Bước 8: tb, bc, ct
Bước 9: Nếu: b=B chuyển bước 10
Ngược lại quay về bước 6.
Bước 10: tb, bd, dt
Bước 11: Nếu: d=D chuyển sang bước 12.
Ngược lại quay về bước 5.
Bước 12: tb, be, et
Bước 13: Nếu: e=E chuyển sang bước 14
Ngược lại quay về bước 4.
Bước 14: m1, Lnn=L1
Bước 15: mm+1
Bước 16: Nếu m>i thì quay lại bước 2.
Nếu m=<i chuyển bước 17.
Bước 17: Nếu: L(m) < Lnn
Thì: LnnL(m).
Quay lại bước 15.
Bước 18: Cách đi của dây điện là: abcdea
Hoặc: aedcba.
Chiều dài dây ngắn nhất là Lnn.

Hình như cái này, là một bài toán mà, áp dụng công thức này, thì mệnh đề ra cho có hả lão ??
 
Last edited:

Tuyền Uri

Phàm Nhân
Ngọc
-152,50
Tu vi
0,00
Mấy bài kiểu này làm đến hơn 20 năm trước rồi, giờ chả nhớ gì :cuoichet:)
Bài này ko vét cạn được do với n = 20 thì có 19! cách xếp => phải dùng thuật toán gì đấy lọc bớt số lần vét. Tùy vào ông thầy đã dạy em cái gì nữa :cuoichet:
Em có thể ứng dụng thuật toán Dijkstra, tham khảo ở đây.
Mà anh thắc mắc sao 21t còn giải cái này ta. Bài kiểu này chỉ dành cho bọn gà chọi thi hsg hồi cấp 3 thôi mà
:bamdap::bamdap: là của mem á không phải của em đâu
Hắc không học Tin học lập trình nhiều, cả cấp 3 lẫn đại học chỉ học chút đại cương về ngôn ngữ lập trình thôi. Bài này kiểu như 1 bài cấp 3 hóc búa nào đó, Hắc cũng chỉ lập Thuật toán theo những gì mình hiểu, đúng hay sai Ủi tự test nhé.
Code:
Bước 1: Nhập chiều dài dây điện giữa các bóng đèn:
l(1,2)=l(2,1)=…
l(1,3)=l(3,1)=…
l(1,4)=l(4,1)=…
…
Bước 2: a  1
b2, c3, d4, e5
i0, Lnn=0
Bước 3: Ee
Bước 4: Dd
Bước 5: Bb
Bước 6: ii+1
L(i)=l(a,b)+l(b,c)+l(c,d)+l(d,a)
Bước 7: Nếu Li=Lnn thì chuyển sang bước 18
Ngược lại, chuyển sang bước 8.
Bước 8: tb, bc, ct
Bước 9: Nếu: b=B chuyển bước 10
Ngược lại quay về bước 6.
Bước 10: tb, bd, dt
Bước 11: Nếu: d=D chuyển sang bước 12.
Ngược lại quay về bước 5.
Bước 12: tb, be, et
Bước 13: Nếu: e=E chuyển sang bước 14
Ngược lại quay về bước 4.
Bước 14: m1, Lnn=L1
Bước 15: mm+1
Bước 16: Nếu m>i thì quay lại bước 2.
Nếu m=<i chuyển bước 17.
Bước 17: Nếu: L(m) < Lnn
Thì: LnnL(m).
Quay lại bước 15.
Bước 18: Cách đi của dây điện là: abcdea
Hoặc: aedcba.
Chiều dài dây ngắn nhất là Lnn.
:54::54: cảm ơn hắc ca nhá
 

Shanks

Phàm Nhân
Ngọc
-14.097,51
Tu vi
0,00
Chào mừng Festival hoa năm 2012. Ban tổ chức lễ hội xây dựng một sân khấu ngoài trời. Để tổ chức các hoạt động ca nhạc vào ban đêm các thợ thi công cần bắt nối tiếp n bóng đèn quanh sân khấu. Em hãy giúp ban tổ chức tìm cách bắt bóng đèn để tốn ít dây điện nhất.
Pile inp
dòng 1 chứa số bóng đèn n (1=<n<=20) và số đường đi m của dây điện trong mạng lưới chiếu sáng
- m dòng tiếp theo, mỗi dòng ghi số hiệu hai bóng đèn có đường đi trực tiếp và khoảng cách dây điện nối giữa chúng
file out
ghi cách đi của dây điện em vừa tìm được
File inp file out
5 10 1->2->5->3->4->1
1 2 2 số mét dây:24
1 3 5
1 4 4
1 5 6
2 3 7
2 4 11
2 5 9
3 4 9
3 4 2
3 5 7
4 5 8

:thodai::thodai::thodai: giúp em với

File inp: (Đầu vào) file out: (Đầu ra)
5 10 1->2->5->3->4->1 (Như đề nó nói đây là số hiệu khoảng cách của hai bóng đèn có đường đi trực tiếp, tất là số bóng đèn được mắc trên 1 sợi dây, và 1->2->5->3->4->5 là quy tắc của nó. Bước đầu tiên là lập bảng tính khoảng cách theo quy tắc đề ra:

Bước 1:
1->2: =1
2->5:= 3
5->3:=2
3->4:1
4->1:=3 ( tính khoảng cách chỉ lấy số dương)
=10

Em cứ tưởng tượng, 1 sợi dây được mắc vô số bóng đèn, và khoảng cách của nó được xếp theo 1 quy tắc như trên, việc cần làm của em là đếm số bóng đèn, và đặt vào bước 1 để đếm.

5 10 1 (1=<n<=20) n=10= 10 bóng đèn => khoảng cách của dây đã là: 20 mét dây.



1 2 2 lấy 20 + với khoảng cách bóng tiếp theo:
1->2: =1
2->5:= 3
=4; 20+4=24
=> số mét dây:24 m cứ thế tính tiếp.
1 3 5 =30
1 4 4 = 37
1 5 6 = 47
2 3 7 = 54
2 4 11 =61
2 5 9 =71
3 4 9 =80
3 4 2 =87
3 5 7 =97
4 5 8 =107

Theo ca tính thì số mét dây tối đa là: 107 m. mà ko chăc cách làm có đúng không, đây là cách tính tay của ca, còn về lập trình thì lên mạng mà đọc :cuoichet: làm sản đại pháp :cuoichet:
 
Last edited:

Tiểu Hắc

Luyện Khí Trung Kỳ
Chuyển Ngữ Quán Thông
Ngọc
4,78
Tu vi
30,00
File inp: (Đầu vào) file out: (Đầu ra)
5 10 1->2->5->3->4->1 (Như đề nó nói đây là số hiệu khoảng cách của hai bóng đèn có đường đi trực tiếp, tất là số bóng đèn được mắc trên 1 sợi dây, và 1->2->5->3->4->5 là quy tắc của nó. Bước đầu tiên là lập bảng tính khoảng cách theo quy tắc đề ra:

Bước 1:
1->2: =1
2->5:= 3
5->3:=2
3->4:1
4->1:=3 ( tính khoảng cách chỉ lấy số dương)
=10

Em cứ tưởng tượng, 1 sợi dây được mắc vô số bóng đèn, và khoảng cách của nó được xếp theo 1 quy tắc như trên, việc cần làm của em là đếm số bóng đèn, và đặt vào bước 1 để đếm.

5 10 1 (1=<n<=20) n=10= 10 bóng đèn => khoảng cách của dây đã là: 20 mét dây.



1 2 2 lấy 20 + với khoảng cách bóng tiếp theo:
1->2: =1
2->5:= 3
=4; 20+4=24
=> số mét dây:24 m cứ thế tính tiếp.
1 3 5 =30
1 4 4 = 37
1 5 6 = 47
2 3 7 = 54
2 4 11 =61
2 5 9 =71
3 4 9 =80
3 4 2 =87
3 5 7 =97
4 5 8 =107

Theo ca tính thì số mét dây tối đa là: 107 m. mà ko chăc cách làm có đúng không, :cuoichet: làm sản đại pháp :cuoichet:
Ặc, người ta hỏi Tin chứ có hỏi Toán đâu, mà lão ko hiểu đề bài rồi.
Mắc đèn sao cho tốn ít dây nhất mà. Cách mắc là 1->2->5->3->4->1
Khoảng cách:
1-2: 2m
2-5: 9m
5-3: 7m
3-4: 2m
4-1: 4m
Tổng: 2+9+7+2+4=24 (m)
 

Shanks

Phàm Nhân
Ngọc
-14.097,51
Tu vi
0,00
Ặc, người ta hỏi Tin chứ có hỏi Toán đâu, mà lão ko hiểu đề bài rồi.
Mắc đèn sao cho tốn ít dây nhất mà. Cách mắc là 1->2->5->3->4->1
Khoảng cách:
1-2: 2m
2-5: 9m
5-3: 7m
3-4: 2m
4-1: 4m
Tổng: 2+9+7+2+4=24 (m)

Thường thì cái này có công thức hết, còn làm tay chỉ thế thôi. mà chắc ta làm sai :cuoichet:
 
Last edited:

Tuyền Uri

Phàm Nhân
Ngọc
-152,50
Tu vi
0,00
Thường thì cái này có công thức hết, còn làm tay chỉ thế thôi. mà chắc ta làm sai :cuoichet:
Ặc, người ta hỏi Tin chứ có hỏi Toán đâu, mà lão ko hiểu đề bài rồi.
Mắc đèn sao cho tốn ít dây nhất mà. Cách mắc là 1->2->5->3->4->1
Khoảng cách:
1-2: 2m
2-5: 9m
5-3: 7m
3-4: 2m
4-1: 4m
Tổng: 2+9+7+2+4=24 (m)
File inp: (Đầu vào) file out: (Đầu ra)
5 10 1->2->5->3->4->1 (Như đề nó nói đây là số hiệu khoảng cách của hai bóng đèn có đường đi trực tiếp, tất là số bóng đèn được mắc trên 1 sợi dây, và 1->2->5->3->4->5 là quy tắc của nó. Bước đầu tiên là lập bảng tính khoảng cách theo quy tắc đề ra:

Bước 1:
1->2: =1
2->5:= 3
5->3:=2
3->4:1
4->1:=3 ( tính khoảng cách chỉ lấy số dương)
=10

Em cứ tưởng tượng, 1 sợi dây được mắc vô số bóng đèn, và khoảng cách của nó được xếp theo 1 quy tắc như trên, việc cần làm của em là đếm số bóng đèn, và đặt vào bước 1 để đếm.

5 10 1 (1=<n<=20) n=10= 10 bóng đèn => khoảng cách của dây đã là: 20 mét dây.



1 2 2 lấy 20 + với khoảng cách bóng tiếp theo:
1->2: =1
2->5:= 3
=4; 20+4=24
=> số mét dây:24 m cứ thế tính tiếp.
1 3 5 =30
1 4 4 = 37
1 5 6 = 47
2 3 7 = 54
2 4 11 =61
2 5 9 =71
3 4 9 =80
3 4 2 =87
3 5 7 =97
4 5 8 =107

Theo ca tính thì số mét dây tối đa là: 107 m. mà ko chăc cách làm có đúng không, đây là cách tính tay của ca, còn về lập trình thì lên mạng mà đọc :cuoichet: làm sản đại pháp :cuoichet:
:9::9::9:
 
Status
Not open for further replies.

Những đạo hữu đang tham gia đàm luận

Top