27-10-2008, 12:54 | |
Senior Member
Join Date: 20-08-2008
Posts: 274
KL$ (TOP! 34):
3.743
Awarded 21 time(s) Sent 101 thank(s) Received 73 thank(s) School: PTTH Kim Liên
Class: A2 (2008-2011) Location: [*.HN.*]
|
Vì lớp 10 đang học thuật toán (Tin) mà hầu như chẳng ai hiểu gỉ.
Vì vậy sẽ mở 1 topic để bàn luận về những bài toán viết = TP em thấy có cái topic về C+ nhưg chưa học đến, TP cho đơn giản Mở đầu topic, e đang làm 1 bài toán = TP, nghĩ ra ý tg? nhưg nghe chừng khó thực hiện quá :-ss post lên để mngười cùng bàn ý tg? đc k a Bt: Trò chơi bàn tròn : cho số N và dãy ai -> aN và số đếm k. Khó nói đề bài nên e đưa VD i 1 2 3 4 5 6 7 a 2 5 6 3 4 8 11 N là 7, số đếm chẳng hạn là 4 thì : + Lần 1 : a1,a2,a3,a4 (1,2,3,4) gạch a4 + lần 2 : đêm từ a5- a6- a7- a1 (1,2,3,4 - 4 lần từ sau số bị gạch) lần này gạch a1 + lần 3 : a2,a3,a5,a6 gạch a6 tương tự nt đến khi số cuối cùng sẽ là a2=5 Làm cách nào tìm ra số cuối cùng của dãy là a2 ạ ... ? |
29-10-2008, 15:20 | |
Senior Member
Join Date: 17-08-2008
Posts: 267
KL$:
30
Awarded 18 time(s) Sent 134 thank(s) Received 88 thank(s) School: PTTH Kim Liên
Class: A1 (2008-2011) Location: Hà Nội - Trái tim Tổ quốc
|
Dễ mà !
Đầu tiên ông bạn dùng lệnh lặp "while to do", chừng nào N>1 thì tăng i từ 1 đến N, mỗi lần i tăng thì lại tăng 1 biến dem. Nếu dem = 4 thì: 1. Delete phần tử a[i], bằng cách gán liên tục a[i]:=a[i+1], a[i+1]:=a[i+2], .. , a[n-1]:=a[n]; 2. Giảm N đi 1 đơn vị (N:=N-1); 3. Khởi tạo dem:=0; Nếu i vượt quá N thì gán i bằng 1, lặp lại các thao tác trên Khi kết thúc, giá trị duy nhất còn lại trong mảng a chỉnh là kết quả ! Nhớ phải thx đấy nhá ! |
29-10-2008, 16:24 | |
V.I.P
Join Date: 23-08-2005
Posts: 2.707
KL$:
854
Awarded 46 time(s) Sent 489 thank(s) Received 558 thank(s) School: PTTH Kim Liên
Class: A7 (2005-2008) Location: Hà Nội iu wí
|
Góp ý tí Học thuật toán thì ko liên quan gì đến ngôn ngữ lập trình (Pascal hay C) Ko hiểu giờ dạy ntn chứ thuật toán thường được dạy theo kiểu vẽ lưu đồ thuật toán ý (bắt đầu rồi thì input, xét điều kiện gì đấy, output, kết thúc) ~> Vậy liệu có nên sửa tên topic này đi 1 tí?
haqduong: bây giờ lên lớp ngồi đánh bài trong sgk vào anh ạ, dùng lưu đồ thì đa số các bạn hiện nay không thích còn làm kiểu liệt kê thì em không thích |
29-10-2008, 16:46 | ||
Senior Member
Join Date: 20-08-2008
Posts: 274
KL$ (TOP! 34):
3.743
Awarded 21 time(s) Sent 101 thank(s) Received 73 thank(s) School: PTTH Kim Liên
Class: A2 (2008-2011) Location: [*.HN.*]
|
Quote:
|
|
29-10-2008, 20:43 | |
Senior Member
Join Date: 17-08-2008
Posts: 267
KL$:
30
Awarded 18 time(s) Sent 134 thank(s) Received 88 thank(s) School: PTTH Kim Liên
Class: A1 (2008-2011) Location: Hà Nội - Trái tim Tổ quốc
|
@haqduong: Thì sáng nay trên KITC, ông bạn candy có nói là càng đơn giản càng tốt nên em post thuật toán đơn giản, dễ hiểu nhất thôi !
|
29-10-2008, 21:19 | |
V.I.P
Join Date: 23-08-2005
Posts: 2.707
KL$:
854
Awarded 46 time(s) Sent 489 thank(s) Received 558 thank(s) School: PTTH Kim Liên
Class: A7 (2005-2008) Location: Hà Nội iu wí
|
Có vẻ bất cập nhì? Cơ mà ngoài thuật toán "trâu bò" kia còn có thuật toán nào để xử lý bài toán tìm phần tử cuối cùng?
Nếu chẳng may bắt mình làm thì chắc mình sẽ làm 1 boolean array, fill giá trị true Loại thằng nào thì cho nó thành false và tăng biến đếm. Khi nào đếm = n-1 thì dừng. Sau đó thì duyệt boolean array tìm index giá trị vẫn còn là true ~> tra bảng giá trị và chả lại kết quả Any better idea? |
30-10-2008, 12:24 | ||
Senior Member
Join Date: 20-08-2008
Posts: 274
KL$ (TOP! 34):
3.743
Awarded 21 time(s) Sent 101 thank(s) Received 73 thank(s) School: PTTH Kim Liên
Class: A2 (2008-2011) Location: [*.HN.*]
|
Quote:
|
|
30-10-2008, 18:46 | |
Senior Member
Join Date: 17-08-2008
Posts: 267
KL$:
30
Awarded 18 time(s) Sent 134 thank(s) Received 88 thank(s) School: PTTH Kim Liên
Class: A1 (2008-2011) Location: Hà Nội - Trái tim Tổ quốc
|
|
31-10-2008, 10:55 | |
God Member
Join Date: 24-03-2003
Posts: 859
KL$:
194
Awarded 6 time(s) Sent 9 thank(s) Received 29 thank(s) Class: A1 (2009-2012) Location: Hakurei Shrine
|
^ Cách làm của ku Pon (làm một array A [1..maxint] boolean rồi fill true/false) tốt hơn là mất công đếm rồi gán lại đấy =) Mà hình như cũng được luôn cho tất cả trường hợp bài này (không rõ, anh không có pascal nên chưa thử với N và K đủ to được =p). Nếu gán lại như siquan thì thời gian chạy sẽ rất rùa bò.
Bài này lên cao (trường hợp N K khổng lồ và bài toán ngược (cho biết người cuối cùng, tìm người đầu tiên)) thì có thể dùng cái gọi là danh sách liên kết (tự đọc sách, lười giải thích ). Nhưng hôm trước anh không rõ, giờ thì biết nếu chỉ là bài bình thường ở trường thôi chắc không phải để ý đến cách đấy làm gì cho phức tạp ------------------------------ May it be so that you are shattered. I welcome the defeated, the aged. Surrender to me, learn from me, obey me. May you be at rest. Do not forget the song, do not forget the prayer, do not forget myself. I relieve you of all burdens. |
01-11-2008, 04:12 | ||
V.I.P
Join Date: 23-08-2005
Posts: 2.707
KL$:
854
Awarded 46 time(s) Sent 489 thank(s) Received 558 thank(s) School: PTTH Kim Liên
Class: A7 (2005-2008) Location: Hà Nội iu wí
|
Quote:
Tóm lại, mọi người xem cách dùng bảng tham chiếu boolean thôi |
|
03-11-2008, 22:23 | |
New Member
Join Date: 11-01-2008
Posts: 26
KL$:
199
Sent 2 thank(s) Received 2 thank(s) School: PTTH Kim Liên
Class: A3 (2007-2010)
|
Anh paint vs anh dương chỉ cho em mấy cái thuật toán liên thông vs ah, em đọc chẳng hiểu gì cả.
@ Dương: đội tuyển học sau tiết 3 thứ 4 nhá! Anh bỏ hơi bị lắm rồi đêy!! |
03-11-2008, 22:31 | ||
New Member
Join Date: 03-11-2008
Posts: 12
KL$:
252
Awarded 3 time(s) Sent 2 thank(s) Received 4 thank(s) School: Tokiwadai
Class: A1 (2008-2011) Location: Gakuen Toshi
|
Quote:
------------------------------ Just a certain scientific railgun Watching: Chaos; Head, Kannagi, Akane-iro ni Somaru Saka, To Aru Majutsu no Index, Clannad |
|
03-11-2008, 22:52 | |
V.I.P
Join Date: 23-08-2005
Posts: 2.707
KL$:
854
Awarded 46 time(s) Sent 489 thank(s) Received 558 thank(s) School: PTTH Kim Liên
Class: A7 (2005-2008) Location: Hà Nội iu wí
|
Kinh quá, mình thề là mình chưa nghe đến thuật toán liên thông bao giờ ý Các em bây giờ còn đi học đội tuyển, thật là kinh khủng quá đi Hic hic. Thấy nuối tiếc cho bản thân
|
03-11-2008, 23:09 | ||
God Member
Join Date: 24-03-2003
Posts: 859
KL$:
194
Awarded 6 time(s) Sent 9 thank(s) Received 29 thank(s) Class: A1 (2009-2012) Location: Hakurei Shrine
|
Quote:
------------------------------ May it be so that you are shattered. I welcome the defeated, the aged. Surrender to me, learn from me, obey me. May you be at rest. Do not forget the song, do not forget the prayer, do not forget myself. I relieve you of all burdens. |
|
03-11-2008, 23:38 | |
V.I.P
Join Date: 23-08-2005
Posts: 2.707
KL$:
854
Awarded 46 time(s) Sent 489 thank(s) Received 558 thank(s) School: PTTH Kim Liên
Class: A7 (2005-2008) Location: Hà Nội iu wí
|
Ơ, hem biết thật +_+ Vừa đi Google có tí sáng tỏ Tìm liên thông thì chơi vừa rộng vừa sâu chắc là ra thôi nhỉ Cơ mà thế thì độ phức tạp cũng khiếp No idea
|
04-11-2008, 12:34 | ||
V.I.P
Join Date: 12-06-2007
Posts: 1.174
KL$ (TOP! 2):
17.089
Awarded 178 time(s) Sent 228 thank(s) Received 76 thank(s) School: PTTH Kim Liên
Class: A1 (2006-2009) Location: anywhere
|
Quote:
Còn vấn đề liên thông: em đọc sách nào thế? liên thông thì cứ bfs || dfs mà chơi, tùy bài ------------------------------ Hà Quang Dương blog.haqduong.com |
|