Tin học phương pháp quay lui

Thảo luận trong 'Dòng họ c , c++ , c#' bắt đầu bởi yauotsua, 8 Tháng mười 2018.

Lượt xem: 147

  1. yauotsua

    yauotsua Học sinh Thành viên

    Bài viết:
    46
    Điểm thành tích:
    44
    Sở hữu bí kíp ĐỖ ĐẠI HỌC ít nhất 24đ - Đặt chỗ ngay!

    Đọc sách & cùng chia sẻ cảm nhận về sách số 2


    Chào bạn mới. Bạn hãy đăng nhập và hỗ trợ thành viên môn học bạn học tốt. Cộng đồng sẽ hỗ trợ bạn CHÂN THÀNH khi bạn cần trợ giúp. Đừng chỉ nghĩ cho riêng mình. Hãy cho đi để cuộc sống này ý nghĩa hơn bạn nhé. Yêu thương!

    Giúp em code hoặc thuật toán của 2 bài này ạ?
    1/ Hãy in tất cả các cách điền 'X' hoặc 'O' vào bảng gồm 4 hàng, 4 cột sao cho không có 4 chữ giống nhau nằm cùng hàng hoặc cùng cột hoặc cùng đường chéo?
    2/ Cho n, dãy số nguyên (1<=n<=30) và 2 số nguyên k,m. Hãy in ra tất cả các cách chọn ra k phần tử của dãy sao cho tổng các phần tử được chọn =m.
     
  2. khoivudang03@gmail.com

    khoivudang03@gmail.com Học sinh mới Thành viên

    Bài viết:
    5
    Điểm thành tích:
    6

    2/
    #include<bits/stdc++.h>
    using namespace std;
    long long n,m;
    long long a[100000],s=0,c[100000],dem=0;
    void xuat()
    { for(int i=1;i<=n;i++)
    if(a==1)
    {
    cout<<c<<" ";

    }


    }
    void quay(int i)
    { for(int j=0;j<=1;j++)
    { a=j;
    s=s+j*c;
    if(i==n) {
    if(s==m)
    xuat();
    }
    else quay(i+1);
    s=s-j*c;
    }
    }
    int main()
    {
    cin>>n>>m;
    for(int i=1;i<=n;i++)
    cin>>c;

    quay(1);
    cout<<"-1";
    }
     
  3. khoivudang03@gmail.com

    khoivudang03@gmail.com Học sinh mới Thành viên

    Bài viết:
    5
    Điểm thành tích:
    6

    #include<bits/stdc++.h>
    using namespace std;
    long long n,m;
    long long a[100000],s=0,c[100000],dem=0,t[1000];
    void xuat()
    { for(int i=1;i<=n;i++)
    if(a==1)
    {
    cout<<c;
    }
    }
    void quay(int i)
    { for(int j=0;j<=1;j++)
    { a=j;
    s=s+j*c;
    if(i==n) {
    if(s==m)
    xuat();
    }
    else quay(i+1);
    s=s-j*c;
    }
    }
    int main()
    {
    cin>>n>>m;
    for(int i=1;i<=n;i++)
    cin>>c;
    quay(1);
    }
     
Chú ý: Trả lời bài viết tuân thủ NỘI QUY. Xin cảm ơn!

Draft saved Draft deleted

CHIA SẺ TRANG NÀY

-->