Công cụ bảo vệ mã nguồn .NET mạnh nhất, không thể unpack, miễn phí cho các khách hàng đầu tiên đăng ký.
Từ 1 tới 3 trên tổng số 3 kết quả

Đề tài: Giải thuật C kiểm tra xem người chơi đã giải xong Sudoku hay chưa

  1. #1
    Ngày gia nhập
    08 2013
    Nơi ở
    Đà Nẵng
    Bài viết
    14

    Wink Giải thuật C kiểm tra xem người chơi đã giải xong Sudoku hay chưa

    Yêu cầu bài toán là
    Người chơi đã giải xong khi.
    Trên một hàng phân bố từ 1 đến 9
    Trên 1 cột có phân bố 1 đến 9
    Trên các ô 3 x 3 cũng phân bố từ 1 đến 9

    Để giải mình xây dựng 3 hàm như sau
    //kiem tra hang
    int KTraHang(int a[][9]){
    for(int row=0;row<9;row++){
    for(int col=0;col<9;col++){
    for(k=col+1;k<9;k++){
    if((a[row][col]==a[row][k])||a[row][col]<0||a[row][col]>9){
    return 0;
    break;
    }
    }
    }
    }
    return 1;
    }
    //kiem tra cot
    int KTraCot(int a[][9]){
    for(int row=0;row<9;row++){
    for(int col=0;col<9;col++){
    for(k=row+1;k<9;k++){
    if(a[row][col]==a[k][col]){
    return 0;
    break;
    }
    }
    }
    }
    return 1;
    }
    //ktra o 3x 3
    int m=0;int n=0;
    int KTraCot(int a[][9]){
    while(n!=6||m!=6){
    for(int row=m;row<m+3;row++){
    for(int col=n;col<n+3;col++){
    for(k=m;k<m+3;k++){
    for(j=n;j<n+3;j++){
    if(row!=k||col!=h){
    if(a[row][col]==a[k][j]){
    return 0;
    break;
    }
    }
    }
    }
    }
    }
    if(m==6){
    m=0;
    n=n+3;
    }else{
    m=m+3;
    }
    }
    return 1;
    }

    Mọi người xem dùm xem có cách nào tối ưu hơn để kiểm tra người chơi đã giải xong Sudoku hay chưa dùm mình với vì mình thấy cách này rắc rối quá.
    Công cụ bảo vệ mã nguồn .NET mạnh nhất hiện tại, miễn phí cho các khách hàng đầu tiên đăng ký.

  2. #2
    Ngày gia nhập
    01 2013
    Bài viết
    1,479

    1. Bạn dùng mảng từ 1 đến 9 để đánh dấu.
    2. Kiểm tra các số cho sẵn.

  3. #3
    Ngày gia nhập
    08 2013
    Nơi ở
    Đà Nẵng
    Bài viết
    14

    Bạn có thể nói rõ hướng giải quyết được không.
    Bài này mình dùng mảng 2 chiều và đi duyệt lần lượt từng phần tử của từng dòng, từng cột, rồi từng ô 3x3( có 9 ô 3 x 3)
    Công cụ bảo vệ mã nguồn .NET mạnh nhất hiện tại, miễn phí cho các khách hàng đầu tiên đăng ký.

Các đề tài tương tự

  1. Chương trình giải ô số Sudoku _ window AFC
    Gửi bởi truongtankhoa trong diễn đàn Dự án & Source code VC++
    Trả lời: 16
    Bài viết cuối: 07-03-2018, 10:43 AM
  2. Mã nguồn chương trình giải Sudoku rất là tuyệt
    Gửi bởi quanghoa trong diễn đàn Dự án & Source code C#, ASP.NET
    Trả lời: 22
    Bài viết cuối: 27-11-2014, 08:13 PM
  3. Bài tập C mọi ng giúp em vs. em lap ctrinh giải hàm bậc 3 mà mãi ko xong.
    Gửi bởi killer_km94 trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 4
    Bài viết cuối: 16-09-2012, 05:00 AM
  4. Bài tập C++ Giải sudoku 9x9 bằng thuật toán quay lui?
    Gửi bởi pearl9_dn trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 16
    Bài viết cuối: 13-04-2011, 02:35 PM
  5. Lập trình C++ lỗi giải ô số sudoku trong C?
    Gửi bởi quanganhct trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 12
    Bài viết cuối: 16-03-2011, 09:01 PM

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn