... saintpanamaisnotsaintabba Thuật toán Gỉa sử T là tập n từ trong từ điển, s là từ cần xử lí. Gọi d(i) là hàm cho đáp số khi giải bài toán với tiền tố i:s = s[1 i]. d(i) là số kí tự tối thiểu cần ... = 16*1 = 16. Thuật toán Ta mở rộng thuậttoán của bài Val để có thể xử lý thêm các trường hợp sau. Thứ nhất, chương trình phải nhận biết được phép toán đảo dấu. Đây là phép toán 1 ngôi khác ... nên trong ngăn xếp c không chứa phép toán nào. Hệ thống sẽ coi là phép toán đổi dấu. Ta khắc phục tình huống này bằng cách sau. Sau khi thực hiện hết các phép toántrong ngăn xếp c, nếu trong...
... System.Text; Sáng tạo trongThuậttoán và Lậptrình Tập I 16 Trong C# một hàm có thể cho ra giá trị là một mảng - danh sách kiểu ArrayList như hàm Find trong chương trình. Khi không ... Sáng tạo trongThuậttoán và Lậptrình Tập I 6 CHƢƠNG 1 GIẢI MỘT BÀI TOÁN TIN Phần này sẽ giới thiệu một số bước thường vận dụng trong quá trình giải các bài toán tin. ... tạo trongThuậttoán và Lậptrình Tập I 7 Sở dĩ ta không sử dụng các kí hiệu toán học vì trên bàn phím máy tính không có các kí hiệu đó. Chọn các kí hiệu có sẵn trong các ngôn ngữ lập...
... tím vàng với diện tích max là 15120 = (15*12)*(4*21) = (12*15)*(3*28). Thuật toán Phương pháp: Tham. Ta gọi một bộ xanh - tím là một cặp (nx,nt) trong đó nx là số ít nhất các đoạn màu xanh ... y, d trong đó (x,y) là tọa độ nguyên của đỉnh A, d là chiều dài cạnh góc vuông. TAMGIAC.INP TAMGIAC.OUT 11 Trong bài này ta không cần sử dụng trường chỉ số riêng id cho kiểu đoạn. Trong ... public void Ghi(): tự làm static public int XuLi(): tự làm static public int Tim(int i, int j, float x): tự làm static public void QSortB(Doan[] d, int t, int p): tự làm // đọc đoạn thứ...
... tạo trongThuậttoán và Lậptrình Tập I 4 Lời nói đầu Thể theo yêu cầu của đông đảo bạn đọc, chúng tôi biên soạn lại cuốn Sáng tạo trongThuậttoán và Lậptrình với các bài Toán ... những kĩ thuậtlậptrình cơ bản để giải những bài toán khó trên máy tính. Một bài toán tin được hiểu là khó nếu ta sử dụng thuật giải mới nảy sinh trong đầu khi vừa biết nội dung bài toán thì ... sử dụng một trong các ngôn ngữ lập trình: Pascal trong môi trường Turbo hoặc Free Pascal hoặc C#. Các kĩ thuậtlậptrình được minh hoạ qua những bài toán cụ thể tương đương với trình độ nâng...
... dụng trong quá trình giải các bài toán tin. 1. Bước đầu tiên và là bước quan trọng nhất là hiểu rõ nội dung bài toán. Đây là yêu cầu quen thuộc đối với những người làm toán. Để hiểu bài toán ... cho trước. Thuật toán Bạn đọc xem trực tiếp chương trình và giải thích cách làm. Sáng tạo trongThuậttoán và Lậptrình Tập I 5 tế, một phương pháp vạn năng như vậy là không hữu ... 10 ta có (10, 1) = 1. Vậy 10 chính là một số cần tìm và là số đầu tiên. Sáng tạo trongThuậttoán và Lậptrình Tập I 6 CHƢƠNG 1 GIẢI MỘT BÀI TOÁN TIN Phần này sẽ...
... suy cho cùng, môi trường lậptrình chỉ mang tính minh hoạ. Khi đã biết thuật toán, việc thể hiện thuậttoán đó trong môi trường lậptrình cụ thể chắc chắn là việc làm quen thuộc của bạn đọc. ... tạo trongThuậttoán và Lậptrình Tập I 4 Lời nói đầu Thể theo yêu cầu của đông đảo bạn đọc, chúng tôi biên soạn lại cuốn Sáng tạo trongThuậttoán và Lậptrình với các bài Toán ... những kĩ thuậtlậptrình cơ bản để giải những bài toán khó trên máy tính. Một bài toán tin được hiểu là khó nếu ta sử dụng thuật giải mới nảy sinh trong đầu khi vừa biết nội dung bài toán thì...
... thêm chữ số đó vào so[3], nếu gặp dấu phép toán thì ta hiểu là thành phần thứ hai của đoạn là một biểu thức dạng: Sáng tạo trongThuậttoán và Lậptrình Tập I 46 using System.IO; namespace ... là các số tự nhiên xuất hiện trong thành phần của đoạn. toan1 và toan2 là dấu các phép toán (+, *), nếu có trong thành phần của đoạn. dong là một trong hai dấu đóng ngoặc: ) hoặc]. Trong ... sẽ được bố trí vào mảng n = 3 dòng, m = 3 cột như sau: -1 4 5 3 7 1 Thuật toán Sáng tạo trongThuậttoán và Lậptrình Tập I 39 Gen('DATA.INP',200); write('Ket');...
... xử lí màn hình trong trường hợp chuyển dòng và cuộn màn hình khi thao tác ở dòng cuối màn hình là đơn giản và được chỉ rõ trong chương trình Sáng tạo trongThuậttoán và Lậptrình Tập I 83 ... xx > LIM then Sáng tạo trongThuậttoán và Lậptrình Tập I 76 Trò chơi này khá dễ lập trình. Bạn cần lưu ý sự khác biệt giữa vị trí của phần tử a[i, j] trong ma trận a với vị trí ... switch (k) { case LEN: // Day quan duoi o trong LEN if (dong < dd1) { a[dong,cot]=a[dong+1,cot]; Sáng tạo trongThuậttoán và Lậptrình Tập I 73 int x, int y) { const...
... thêm thuậttoán tìm phần tử thứ k trong dãy được sắp với độ phức tạp 2N. Ta vận dụng thuậttoán này cho bài toán abc. Bản chất thuậttoán này là như sau. Ta cũng sắp tăng các xâu thứ cấp theo thuật ... trongThuậttoán và Lậptrình Tập I 100 4 4 7 1 4 5 8 5 8 5 8 8 Số màu trong chuỗi: 5 Cắt giữa hạt thứ 7 và thứ 8, tổng số lớn nhất là 7. Chuỗi hạt Thuật toán Khung chương trình ... Sáng tạo trongThuậttoán và Lậptrình Tập I 94 cây khung, xác định thành phần liên thông, xác định chu trình sẽ phải vận dụng cách tổ chức dữ liệu tương tự như thuậttoán sẽ trình bày...
... to N do Sáng tạo trongThuậttoán và Lậptrình Tập I 151 Thuật toán Ta dùng phương pháp cân. Gọi hai tệp chứa dữ liệu cần trộn là f và g, tệp chứa kết quả trộn là h. Hãy tưởng tượng, ... quy trình trên là (| a | + | b |) + (| a | + | b |) + c = 2(| a | + | b |) + c. Bảng dưới đây tính toán cho ba phương án để phát hiện ra phương án tối ưu. Sáng tạo trongThuậttoán và Lậptrình ... tệp (h) tức là mỗi lần lặp ta loại bỏ được một tệp, do đó số lần lặp sẽ là n – 1. Thuật toán trên mang tên nhà toán học Mĩ Huffman là người đầu tiên đề xuất. Ta minh hoạ thuậttoán trên với...
... một đỉnh khi phải Sáng tạo trongThuậttoán và Lậptrình Tập I 188 d[i] = 0 - dinh i chua xuat hien trong lich trinh v d[i] = 1 - dinh i da xuat hien trong lich trinh v, *) function ... 2 to k do write(g,bl,v[i]); Sáng tạo trongThuậttoán và Lậptrình Tập I 187 lùi một bước thì mỗi đỉnh trong mê cung chỉ cần thăm tối đa là một lần, do đó thay vì đánh dấu cạnh ... vào việc nâng cao tốc độ tính toán khi kiểm tra hai hậu đụng độ nhau. Mỗi khi tìm vị trí đặt hậu thứ i trên bàn cờ ta cần kiểm Sáng tạo trongThuậttoán và Lậptrình Tập I 165 a)...
... 65535/5/2 0/2/3 Thuật toán dừng. Lưu ý rằng đỉnh xuất phát cho bài toán này là s = 2. Ta minh hoạ giải trình kết quả cho ba thí dụ sau. Sáng tạo trongThuậttoán và Lậptrình Tập I 220 ... Lo[i].BatBit(j); Sáng tạo trongThuậttoán và Lậptrình Tập I 205 1. Lập hệ thức: Gọi T(i, j) là tổng giá trị thẩm mĩ khi giải bài toán với i bó hoa mã số 1 i và j lọ mã số 1 j, tức là độ thẩm mĩ ... 1 2 3 Sáng tạo trongThuậttoán và Lậptrình Tập I 198 Tuy nhiên đáp số là số ít nhất các kí tự cần loại bỏ khỏi s thì là duy nhất và bằng 4. Bài giải Bài toán này đã được nhiều...
... Hà Nội thẳng Sáng tạo trongThuậttoán và Lậptrình Tập I 232 Theo thí dụ trên ta có m mod 4 = 8 mod 4 = 0, do đó chữ số cuối của 2m là 6 chứ không phải là 1 vì m > 0. Ta tính ... ra màn hình. Ngược lại, khi tên tệp trong lệnh mở tệp nói trên khác rỗng, thí dụ: Sáng tạo trongThuậttoán và Lậptrình Tập I 261 Với ý nghĩa là cho biết bức ảnh ban đầu và cuối cùng. ... bức ảnh, trừ tấm ảnh ban đầu, chính là số bước chuyển các tầng. Trong số các bức ảnh chắc chắn phải có một bức như hình 10. Sáng tạo trongThuậttoán và Lậptrình Tập I 229 (* Lat...