Báo cáo dự án giữa kì Toán tổ hợp và đồ thị: Xây dựng câu đố SUDOKU có nội dung gồm 5 chương trình bày về mô tả bài toán, các bước giải bài toán, code, 5 test case, bảng đánh giá,... Mời các bạn cùng tham khảo!
Trang 1TR ƯỜ NG Đ I H C TÔN Đ C TH NG Ạ Ọ Ứ Ắ
Ng ườ i h ướ ng d n ẫ : GV. NGUY N CHÍ THI N Ễ Ệ
Ng ườ i th c hi n ự ệ : NGUY N QU C THÁI – 51800930 Ễ Ố
L p ớ : 18050301
L U QUANG TH NG Ư Ắ – 51800932
L p ớ : 18050301 Khoá : 22
1
Trang 2THÀNH PH H CHÍ MINH, NĂM 20 Ố Ồ 21
Trang 4L I C M N Ờ Ả Ơ
Qua đây em xin được g i l i c m n th y đã t n tình giúp đ , hử ờ ả ơ ầ ậ ỡ ướng d n emẫ hoàn thành d án này. Tuy nhiên do trình đ và ki n th c còn h n h p nên trongự ộ ế ứ ạ ẹ
chương trình không tránh kh i nh ng thi u sót, em r t mong nh n đỏ ữ ế ấ ậ ược nh ng gópữ
ý và b sung c a các th y và các b n đ đ tài c a em đổ ủ ầ ạ ể ề ủ ược hoàn thi n.ệ
Trang 5Đ ÁN Đ Ồ ƯỢ C HOÀN THÀNH
T I TR Ạ ƯỜ NG Đ I H C TÔN Đ C TH NG Ạ Ọ Ứ Ắ
Tôi xin cam đoan đây là s n ph m đ án c a riêng chúng tôi và đả ẩ ồ ủ ược sự
hướng d n c a ẫ ủ GV. Nguy n Chí Thi nễ ệ Các n i dung nghiên c u, k t qu trong độ ứ ế ả ề tài này là trung th c và ch a công b dự ư ố ướ ấ ỳi b t k hình th c nào trứ ước đây. Nh ngữ
s li u trong các b ng bi u ph c v cho vi c phân tích, nh n xét, đánh giá đố ệ ả ể ụ ụ ệ ậ ượ cchính tác gi thu th p t các ngu n khác nhau có ghi rõ trong ph n tài li u thamả ậ ừ ồ ầ ệ
kh o.ả
Ngoài ra, trong đ án còn s d ng m t s nh n xét, đánh giá cũng nh s li uồ ử ụ ộ ố ậ ư ố ệ
c a các tác gi khác, c quan t ch c khác đ u có trích d n và chú thích ngu n g c.ủ ả ơ ổ ứ ề ẫ ồ ố
N u phát hi n có b t k s gian l n nào tôi xin hoàn toàn ch u tráchế ệ ấ ỳ ự ậ ị nhi m v n i dung đ án c a mình. ệ ề ộ ồ ủ Trường đ i h c Tôn Đ c Th ng không liênạ ọ ứ ắ quan đ n nh ng vi ph m tác quy n, b n quy n do tôi gây ra trong quá trình th cế ữ ạ ề ả ề ự
hi n (n u có).ệ ế
TP. H Chí Minh, ngày tháng năm ồ
Tác giả (ký tên và ghi rõ h tên) ọ
Nguy n Qu c Thái ễ ố
L u Quang Th ng ư ắ
5
Trang 6PH N XÁC NH N VÀ ĐÁNH GIÁ C A GI NG VIÊN Ầ Ậ Ủ Ả
Ph n xác nh n c a GV hầ ậ ủ ướng d nẫ
_ _ _ _ _ _ _
Tp. H Chí Minh, ngày tháng năm ồ
(kí và ghi h tên)ọ
Ph n đánh giá c a GV ch m bàiầ ủ ấ
_ _ _ _ _ _ _
Trang 7Tp. H Chí Minh, ngày tháng năm ồ
(kí và ghi h tên)ọ
7
Trang 8TÓM T T Ắ
Xây d ng câu đ Sudoku s d ng Latin Squaresự ố ử ụ
Trang 9M C L C Ụ Ụ
9
Trang 10DANH M C KÍ HI U VÀ CH VI T T T Ụ Ệ Ữ Ế Ắ
Trang 11DANH M C CÁC B NG BI U, HÌNH V , Đ TH Ụ Ả Ể Ẽ Ồ Ị
DANH M C HÌNH Ụ
11
Trang 12CH ƯƠ NG 1 – MÔ T BÀI TOÁN Ả
Sudoku là b ng câu đó hình vuông, m i chi u có 9 ô nh , h p thành 9 c t, 9 hàng và ả ỗ ề ỏ ợ ộ
được chia thành 9 ô l n 3x3. M t vài ô nh đớ ộ ỏ ược đánh s , đó là manh m i đ tìm l iố ố ể ờ
gi i. Tùy theo m c đ nhi u hay ít c a manh m i, các câu đ đả ứ ộ ề ủ ố ố ược x p theo lo i ế ạ
d , trung bình, khóễ
M c tiêu c a Câu đ Sudoku là đi n các ch s vào m t lụ ủ ố ề ữ ố ộ ưới 9×9 sao cho m i c t, ỗ ộ
m i hàng, và m i ph n trong s chín lỗ ỗ ầ ố ưới con 3×3 c u t o nên lấ ạ ưới chính (cũng g i ọ
là "h p", "kh i", ho c "vùng") đ u ch a t t c các ch s t 1 t i 9. Câu đ đã ộ ố ặ ề ứ ấ ả ữ ố ừ ớ ố
được hoàn thành m t ph n, ngộ ầ ười ch i ph i gi i ti p b ng vi c đi n s sao cho:ơ ả ả ế ằ ệ ề ố
+ Các s cùng 1 dòng không đố ược trùng
+ Các s cùng 1 c t không đố ộ ược trùng
+ Các s trong cùng 1 ô 3x3 không đố ược trùng
+ Th t đi n s là không quan tr ngứ ự ề ố ọ
Trang 13CH ƯƠ NG 2 – CÁC B ƯỚ C GI I BÀI TOÁN Ả
B ướ c 1: T o ra 1 Latin Squares 3x3 g m 3 s 0, 1 và 2 ạ ồ ố
M tộ hình vuông Latin là m t m ngộ ả n × n sao cho các s xu t hi n trong m t ố ấ ệ ộhàng không được trùng nhau và các s xu t hi n trong 1 c t không đố ấ ệ ộ ược trùng nhauLatin Squares 3x3 sau khi t oạ
B ướ c 2: T o ra thêm Latin Squares 3x3 g m 3 s 0, 1 và 2 ng ạ ồ ố ứ
v i m i m t s trong Latin Squares v a t o b ớ ỗ ộ ố ừ ạ ở ướ c 1
Các Latin Squares 3x3 v a t o bừ ạ ở ước này không được trùng nhau
B ướ c 3: Chuy n các s t h 3 sang h 10 ể ố ừ ệ ệ
Coi các s 0,1,2 là các s h 3 và s chuy n nó sang h 10ố ố ệ ẽ ể ệ
13
Trang 14Xét trong 1 ô Latin Squares 3x3 chúng ta s chuy n nó sang h 10 nh sauẽ ể ệ ư
M i ô c a Latin Squares t o bỗ ủ ạ ở ước 2 s đẽ ược gán v i s tớ ố ương ng c a ô Latinứ ủ Squares v a t o bừ ạ ở ước th 1ứ
Công th c: S đứ ố ược gán vào ô Latin Squares x 3 + s đang xét + 1 ố
Trang 15Cu i cùng chúng ta có k t qu nh sau:ố ế ả ư
B ướ c 4: Chuy n các dòng v i nhau đ các s trong cùng 1 ô 3x3 ể ớ ể ố không b trùng ị
Sau khi làm xong 3 bước trên chúng ta s có 1 b ng nh sau:ẽ ả ư
Chuy n dòng 2 và dòng 4 cho nhauể
Chuy n dòng 3 và dòng 7 cho nhauể
Chuy n dòng 6 và dòng 8 cho nhauể
15
Trang 16Chúng ta s đẽ ược:
B ướ c 5: Đ c l ụ ỗ
S l s do ngố ỗ ẽ ười ch i đ a raơ ư
S l ph i là b i c a 9 và đố ỗ ả ộ ủ ược chia đ u cho các ô 3x3ề
Ví d :ụ
Người ch i cho s l là 54 lơ ố ỗ ỗ
Có 9 ô 3x3 thì s l c a m i ô là 6ố ỗ ủ ỗ
Trang 19B ướ c 3: Chuy n các s t h 3 sang h 10 ể ố ừ ệ ệ
B ướ c 4: Chuy n các dòng v i nhau đ các s trong cùng 1 ô 3x3 ể ớ ể ố không b trùng ị
B ướ c 5: Đ c l ụ ỗ
19
Trang 21CH ƯƠ NG 4 – 5 TEST CASE
Test case 1
Test case 2
21
Trang 22Test case 4
Test case 5
Trang 23m c c b nụ ơ ả
Rõ ràng, logic (0.5đ),
ch a đ y đứ ầ ủ các n i dungộ bao g m ồphát bi u bàiể toán (0.5đ),
mô t các ả
3.0
23
Trang 24N i dungộ
tiêu chí
Thang đánh
bước gi i ảbài toán (0.5đ), code (0.5đ), 5 test case (0.5đ),
b ng sinh ảviên t đánh ựgiá (0.5đ)
đ nh d ngị ạ
Xu t nh p ấ ậtheo đ nh ị
được k t ếquả
T o đạ ược
t t c các ô ấ ảLatin Squares đánh giá b ng ằcách xu t ra ấ
được k t ếquả
g paradigm
Theo m t ộprogrammin
g paradigm
nh t quán. ấ
Đ y đ , rõ ầ ủràng, bao
0.0
Trang 25đ u vào, đ uầ ầ
ra c a m i ủ ỗhàm (ki u ể
d li u, ữ ệdùng đ l u ể ư
Tr l i đả ờ ượ c
t t c các ấ ảcâu h iỏ
2.0 Ph n này ầ
m c đ nh là ặ ị 2.0 cho đ n ế khi v n đáp ấ
0
25
Trang 27Tài li u tham kh o ệ ả
27