![]() |
|
|
#1 |
|
Búa Đá Đôi
![]() |
Các bác giải giùm em bài này:
Viết CT thực hiện: - Cho 81 ô vuông nhỏ (ngang 9 - dọc 9) xếp lại thành 1 ô vuông lớn - Cho máy ngẫu nhiên điền vào 9 ô trong 81 ô nhỏ các số từ 1- 9 (1 ô - 1 số - Lập trình làm sao cho máy điền tiếp vào các ô còn lại sao cho các ô trên 1 cột, trên 1 hàng, các ô trong cặp 9 ô một không được có số trùng nhau. Bác nào giải được em xin cám ơn vạn lần. Em cần bài giải gấp lắm.
|
|
|
|
|
|
#3 |
|
Rìu Sắt Đôi
![]() Tham gia: May 2007
Bài: 221
VZD: 16.489
Điểm: 371/54 bài viết
|
heheh cái này thì dễ không khó nhưng viết nó ra xong thì hơi mêt khá dài khoảng 30 dòng bạn cho nick chat đi có thể mình giúp được bài toán này chắc không phải ở trừong ra phải không trường làm gì có trình độ làm mấy bài toán kiểu này thi ở ngoài chắc có chắc là thi giải tỉnh hay quốc gia gì đó bài này xem vậy cũng bèo
__________________
Hãy Nhấn cám ơn nếu bạn cảm thấy bài viết của tôi có ích cho bạn hãy chứng tỏ mình là những người hiểu biết !!!! Anh không khóc khi loài người chết hết Anh không buồn khi thế giới đổi thay Anh chỉ khóc khi người yêu anh khóc Anh chỉ buồn khi người ấy xa anh
|
|
|
|
|
|
#4 |
|
Rìu Bạc
![]() |
đây là bài toán Sudoku..với 30 dòng code Pascal hoặc C/C++ thì tôi ko tin..còn code C++ mình đã post lên diễn đàn..bạn có thể dễ dàng tìm thấy
__________________
Phụ nữ thích nhiều thứ ở 1 người đàn ông![]() Đàn ông thích 1 thứ ở nhiều người phụ nữ |
|
|
|
|
|
#5 |
|
Búa Đá Đôi
![]() |
|
|
|
|
|
|
#6 |
|
Búa Gỗ Đôi
![]() Tham gia: Oct 2007
Bài: 26
VZD: 455
Điểm: 7/5 bài viết
|
Chà cái này là dạng bài có thể đem đi thi học sinh giỏi cấp thành phố đấy.Khó kinh , mình cũng chưa làm được bài này .
|
|
|
|
|
|
#7 |
|
Búa Đá Đôi
![]() |
Các bác giúp em với. em đang cần gấp
|
|
|
|
|
|
#8 |
|
Rìu Sắt Đôi
![]() |
Cùng lắm dùng matrix giải cũng ngắn chỉ có cái tốn chíp mất thời gian thối. Bạn thử dùng giả thiết quy nạp làm từ it ô đến nhiều xem sao mình chưa chơi sokudo bao giờ.
Nhưng trên siliverline cũng có bản viết bằng siliverline cố tham khảo nhe. Mình tính qua rồi chỉ có 9x8!=362880 khả năng thôi chạy mỗi tí là ra. thay đổi nội dung bởi: thienthan, 06-02-2008 lúc 17:54. |
|
|
|
|
|
#9 |
|
Rìu Vàng
![]() |
bạn dùng mảng 2 chiều trong pascal và dùng hàm randomize để lấy các giá trị ngẩu nhiên
__________________
<<<Học hành như cá kho tiêu>>> ![]() <<Kho nhiều thì mặn học nhiều thì NGU>>>![]() Nếu thấy bài mình hay thì nhấn CÁm ơn là được rùi ------------------------ MAIL CỦA UI ĐÓ bananaoh729@gmail.com HƯỚNG DẪN SỬ DỤNG DIỄN ĐÀN Mời các bạn vào đây chơi |
|
|
|
|
|
#10 |
|
Rìu Sắt Đôi
![]() |
Không mình dùng phương pháp liệt kê hoán vị để đảm bảo liệt kê hết các trường hợp sau đó check ngẫu nhiên lại để đảm bảo có xác xuất trung bình thử 9x8!/2 và tồi tệ nhất là phải thử 9x8! bạn hiểu chưa. Mình sinh năm 1991 gọi như vậy chắc không vấn đề gì.
|
|
|
|
|
|
#11 |
|
Rìu Bạc
![]() Tham gia: Dec 2007
Bài: 319
VZD: 4.904
Điểm: 81/54 bài viết
|
__________________
-_::Tin Học là chia sẻ ::_- http://cnttk1a.hnsv.comChào mừng các bạn đến diễn đàn lớp tui! |
|
|
|
|
|
#12 |
|
Gà Con
![]() Tham gia: Jul 2007
Bài: 2
VZD: 330
Điểm: 0/0 bài viết
|
bài này thì thành phố nỗi gì:| chỉ cần chắc cơ bản là đủ rồi!
|
|
|
|
|
|
#13 |
|
Rìu Vàng
![]() |
bài này cũng đơn giản mà dài wá
__________________
<<<Học hành như cá kho tiêu>>> ![]() <<Kho nhiều thì mặn học nhiều thì NGU>>>![]() Nếu thấy bài mình hay thì nhấn CÁm ơn là được rùi ------------------------ MAIL CỦA UI ĐÓ bananaoh729@gmail.com HƯỚNG DẪN SỬ DỤNG DIỄN ĐÀN Mời các bạn vào đây chơi |
|
|
|
|
|
#14 |
|
Búa Đá Đôi
![]() |
|
|
|
|
|
|
#15 |
|
Rìu Sắt Đôi
![]() |
{
Cac luu y ve chuong trinh Cac so nhap vao theo thu tu nhap theo so cot tang dan va cot nao cung phai co so Chuong trinh co the thieu dau ";" ban can tu them vao } Procedure Hoanvi; const n=9; type mark=array[1..9] of byte; so=array[1..9,1..9] of byte; Var tmp:boolean; i,k,a,b,ny:byte; s,Root:so; x,y,z,c,d,f:mark; tam:byte; procedure Swap(var X, Y: Integer); var Temp: Integer; begin Temp := X; X := Y; Y := Temp; end; procedure Pause; begin Write('Nhan E de dung tai day, an phim khac de tiep tuc'); if upcase(Readkey)='E' then tmp:=true; Writeln; end; procedure Paint; Var l,m: byte; begin for l:=1 to n do begin Writeln; for m:=1 to n do Write(s(m,n):3); Writeln; end; end; Procedure CreatRoot; var l,m:byte; begin for l:=1 to n do for m:=1 to n do Root[l,m]:=(l+m-2) mod n + 1; end; Procedure CutY(i:byte); var l:byte; Begin if ny<>i then for l:=i to ny-1 do y[l]:=y[l+1]; ny:=ny-1; End; Function Select(l,m:Byte):Byte;{0 Nghia la khong tim thay} Var dem:Byte; Begin Select:=0; For dem:=1 to ny do if Root(x[l],y[dem])=m then begin Select:=y[dem]; CutY(dem); Exit; End; End; Procedure Nhap; Var l:byte; Begin Writeln('Nhap cac so da biet theo quy tac hang, cot, gia tri'); For i:=1 to n do Begin Write('c[',l,'],d[',l,'],f[',l,']='); Readln(c[l],d[l],f[l]); Procedure Slover; Var l,m:byte; Begin for l:=1 to n do for m:=1 to n do s[l,m]:=root[x[l],z[m]]; Begin CreatRoot; tmp:=false; Repeat for i := 1 to n do x[i] := i;{Khoi tao tham chieu ao} repeat ny:=9; for i := 1 to ny do y[i] := i;{Khoi tao tham chieu ao} for i := 1 to n do begin tam:=Select(c[i],f[i]); if tam<>0 then z[d[i]]:=tam else exit; End; Pause; if tam<>0 then Begin Slover; Paint; if tmp=true then Exit; {Xac nhan duoc hoan vi} i := n - 1; while (i > 0) and (x[i] > x[i + 1]) do Dec(i); if i > 0 then begin k := n; while x[k] < x[i] do Dec(k); Swap(x[k], x[i]); a := i + 1; b := n; while a < b do begin Swap(x[a], x[b]); Inc(a); Dec(b); end; end; until i = 0; Writeln('Neu ban muon thoat khoi chuong trinh an E') if upcase(Readkey)='E' then Halt; Until false; End; {Da chay thu tren Visual Basic 2005. Tong thoi gian nho hon 100 ms} Lưu ý em sẽ đưa bài code chuẩn bằng C++ lên Trong mục ý tưởng mọi người vào đó xem chi tiết. |
|
|
|