Hệ sinh thái số IELP
Bạn có muốn phản ứng với tin nhắn này? Vui lòng đăng ký diễn đàn trong một vài cú nhấp chuột hoặc đăng nhập để tiếp tục.

Hệ sinh thái số IELP

Học lập trình với Hệ sinh thái số IELP
 
Trang ChínhTrang Chính  CalendarCalendar  Latest imagesLatest images  Trợ giúpTrợ giúp  Tìm kiếmTìm kiếm  Thành viênThành viên  NhómNhóm  Đăng kýĐăng ký  Đăng NhậpĐăng Nhập  
Tìm kiếm
 
 

Display results as :
 
Rechercher Advanced Search
Keywords
sach wavio Hoàng phương nguyễn chứa tích sinh Phạm Thành Phần pháp Minh hình nhật tổng 2022 BANG giác Trần thưởng HOAI được Nhàn đặng điểm
Latest topics
» Buổi học số 1. Cấu trúc tuần tự trong C++ (Bài 1 -> Bài 15)
Lê Quang Lâm - TK33 - Page 9 EmptyThu Apr 25, 2024 10:49 am by quanle1120

» Chấm bài trực tuyến với Jusolan.ddns.net
Lê Quang Lâm - TK33 - Page 9 EmptyWed Apr 24, 2024 9:15 pm by Admin

» Bài kiểm tra giữa Học kỳ II
Lê Quang Lâm - TK33 - Page 9 EmptyWed Apr 05, 2023 8:00 am by Nguyễn Đức Mạnh

» Bài giữa kì 2
Lê Quang Lâm - TK33 - Page 9 EmptyMon Apr 03, 2023 8:34 am by Khách viếng thăm

» Bài giữa kì tin Lê Đức Anh
Lê Quang Lâm - TK33 - Page 9 EmptySun Apr 02, 2023 8:33 pm by Tendalda06

» Nghiêm Tuấn Tú
Lê Quang Lâm - TK33 - Page 9 EmptySat Apr 01, 2023 9:03 am by Nghiêm Tuấn Tú

» Nguyễn Trần Ý Nhi
Lê Quang Lâm - TK33 - Page 9 EmptySat Apr 01, 2023 8:23 am by Nguyễn Trần Ý Nhi

» Nguyễn Kim Anh
Lê Quang Lâm - TK33 - Page 9 EmptySat Apr 01, 2023 12:05 am by Khách viếng thăm

» Trần Thanh Trà
Lê Quang Lâm - TK33 - Page 9 EmptyFri Mar 31, 2023 11:10 pm by Trần Thanh Trà

May 2024
MonTueWedThuFriSatSun
  12345
6789101112
13141516171819
20212223242526
2728293031  
CalendarCalendar
Top posting users this week
No user

 

 Lê Quang Lâm - TK33

Go down 
2 posters
Chuyển đến trang : Previous  1, 2, 3, 4, 5, 6, 7, 8, 9
Tác giảThông điệp
lequanglamyb2007




Tổng số bài gửi : 304
Join date : 25/07/2022

Lê Quang Lâm - TK33 - Page 9 Empty
Bài gửiTiêu đề: Re: Lê Quang Lâm - TK33   Lê Quang Lâm - TK33 - Page 9 EmptyThu Nov 10, 2022 6:49 pm

Code:
#include <iostream>
#include <algorithm>
#include <vector>

// set.*

using namespace std;

void submain()
{
    vector<int> b;
    int t, n = 0;
    while (cin >> t)
    {
        b.push_back(t);
        n = max(n, t);
    }
    long long *a = new long long[n + 1];
    a[0] = 0;
    a[1] = 1;
    cout << n << endl;
    int i = 1, j = 0;
    while (i <= n)
    {
        i++;j++;
        a[i] = 2 * a[j] + 1;
        if (i >= n)
            break;
        i++;
        a[i] = 3 * a[j] + 1;

    }
    sort(a + 1, a + n + 1);
    cout << a[n] << endl;
    for (int i = 1; i <= n; i++)
        cout << a[i] << " ";
    cout << endl;
//    for (size_t i = 0; i < b.size(); i++)
//        cout << a[b[i]] << endl;
    delete[] a;
}

int main()
{
    submain();
    return 0;
}
Về Đầu Trang Go down
lequanglamyb2007




Tổng số bài gửi : 304
Join date : 25/07/2022

Lê Quang Lâm - TK33 - Page 9 Empty
Bài gửiTiêu đề: Re: Lê Quang Lâm - TK33   Lê Quang Lâm - TK33 - Page 9 EmptyTue Nov 15, 2022 5:07 pm

Code:
#include <iostream>

// permu.*

using namespace std;

int *arr;

void print_arr(int len)
{
    for (int i = 0; i < len; i++)
        cout << arr[i] << " ";
    cout << endl;
}

void permute(int d, int len)
{
    if (d >= len - 1)
    {
        print_arr(len);
        return;
    }
    for (int i = len-1; i > d; --i)
    {
        permute(d + 1, len);
        if ((len-d)%2 == 0)
            swap(arr[d], arr[i]);
        else
            swap(arr[d], arr[len - 1]);
    }
    permute(d + 1, len);
}

void submain()
{
    int n;
    cin >> n;
    arr = new int[n];
    for (int i = 0; i < n; i++)
        arr[i] = i + 1;
    permute(0, n);
    delete[] arr;
}

int main()
{
    submain();
    return 0;
}
Về Đầu Trang Go down
lequanglamyb2007




Tổng số bài gửi : 304
Join date : 25/07/2022

Lê Quang Lâm - TK33 - Page 9 Empty
Bài gửiTiêu đề: Re: Lê Quang Lâm - TK33   Lê Quang Lâm - TK33 - Page 9 EmptyTue Nov 15, 2022 6:00 pm

Code:
#include <iostream>

// bin.*

using namespace std;

unsigned int b[64];
unsigned int k;
int n;

void print_result()
{
    if (b[n - 1] == 0)
        return;
    int cnt = 0;
    unsigned long long v = 0;
    for (int i = n - 1; i >= 0; i--)
    {
        v *= 2;
        v += b[i];
        if (b[i] == 1)
            cnt++;
    }
    if ((cnt * 2 == n) && (v % k == 0))
    {
        for (int i = n - 1; i >= 0; i--)
            cout << b[i];
    }
}

void bincnt(int i)
{
    for (unsigned int j = 0; j <= 1; j++)
    {
        b[i] = j;
        if (i == n - 1)
            print_result();
        else
            bincnt(i + 1);
    }
}

void submain()
{
    cin >> n >> k;
    bincnt(0);
}

int main()
{
    submain();
    return 0;
}
Về Đầu Trang Go down
lequanglamyb2007




Tổng số bài gửi : 304
Join date : 25/07/2022

Lê Quang Lâm - TK33 - Page 9 Empty
Bài gửiTiêu đề: Re: Lê Quang Lâm - TK33   Lê Quang Lâm - TK33 - Page 9 EmptyThu Nov 17, 2022 5:03 pm

Code:
#include <iostream>

using namespace std;

int *a, *b, *c;
int n, a1, res;

void print_result()
{
    int t = a[0];
    for (int i = 0; i < n - 1; i++)
    {
        if (b[i] == 1)
            t += a[i + 1];
        else
            t -= a[i + 1];
    }
    if (abs(t - a1) < abs(res - a1))
    {
        res = t;
        for (int i = 0; i < n - 1; i++)
            c[i] = b[i];
    }
}

void bincnt(int i)
{
    for (int j = 0; j <= 1; j++)
    {
        b[i] = j;
        if (i == n - 2)
            print_result();
        else
            bincnt(i + 1);
    }
}

void sub1()
{
    b = new int[n - 1];
    bincnt(0);
    delete[] b;
}

void submain()
{
    cin >> n >> a1;
    a = new int[n];
    c = new int[n - 1];
    for (int i = 0; i < n; i++)
        cin >> a[i];
    res = INT_MAX;
    sub1();
    cout << res << endl;
    cout << a[0];
    for (int i = 0; i < n - 1; i++)
    {
        if (c[i] == 1)
            cout << "+";
        else
            cout << "-";
        cout << a[i + 1];
    }
    delete[] a;
    delete[] c;
}

int main()
{
    submain();
    return 0;
}
Về Đầu Trang Go down
lequanglamyb2007




Tổng số bài gửi : 304
Join date : 25/07/2022

Lê Quang Lâm - TK33 - Page 9 Empty
Bài gửiTiêu đề: Re: Lê Quang Lâm - TK33   Lê Quang Lâm - TK33 - Page 9 EmptyThu Nov 17, 2022 5:54 pm

Code:
#include <iostream>

using namespace std;

int digits[8], idx[8];
int k, res, res1;

bool prime(int u)
{
    if (u <= 1) return false;
    for (int i = 2; i * i <= u; i++)
        if (u % i == 0)
        return false;
    return true;
}

void save_res(int u)
{
    int s = 0;
    for (int i = 0; i < k; i++)
        s = s * 10 + digits[idx[i]];
    int diff = s - u;
    if (diff < 0) diff *= -1;
    if (prime(diff / 9))
        res1++;
}

void permute(int d, int u)
{
    if (d >= k - 1)
        save_res(u);
    else
    {
        for (int i = k-1; i > d; --i)
        {
            permute(d + 1, u);
            if ((k-d)%2 == 0)
                swap(idx[d], idx[i]);
            else
                swap(idx[d], idx[k - 1]);
        }
        permute(d + 1, u);
    }
}

void prime_p(int u)
{
    k = 0;
    int u1 = u;
    while (u1 > 0)
    {
        int d = u1 % 10;
        digits[k] = d;
        idx[k] = k;
        k++;
        u1 /= 10;
    }
    res1 = 0;
    permute(0, u);
    if (res1 > 0)
        res++;
}

void submain()
{
    int n, a, b;
    cin >> n;
    for (int i = 0; i < n; i++)
    {
        cin >> a >> b;
        res = 0;
        for (int j = a; j <= b; j++)
            prime_p(j);
        cout << res << endl;
    }
}

int main()
{
    freopen("prime_p.inp","r",stdin);
    freopen("prime_p.out","w",stdout);
    submain();
    return 0;
}
Về Đầu Trang Go down
lequanglamyb2007




Tổng số bài gửi : 304
Join date : 25/07/2022

Lê Quang Lâm - TK33 - Page 9 Empty
Bài gửiTiêu đề: Re: Lê Quang Lâm - TK33   Lê Quang Lâm - TK33 - Page 9 EmptyThu Nov 17, 2022 6:13 pm

Code:
#include <iostream>

// permu.*

using namespace std;

int *arr, *rarr;
long long res;

void print_arr(int len)
{
    long long s = 0, s1;
    for (int i = 0; i < len - 1; i++)
    {
        s1 = arr[i] + arr[i + 1];
        s = max(s, s1);
    }
    if (res > s)
    {
        res = s;
        for (int i = 0; i < len; i++)
            rarr[i] = arr[i];
    }
}

void permute(int d, int len)
{
    if (d >= len - 1)
    {
        print_arr(len);
        return;
    }
    for (int i = len-1; i > d; --i)
    {
        permute(d + 1, len);
        if ((len-d)%2 == 0)
            swap(arr[d], arr[i]);
        else
            swap(arr[d], arr[len - 1]);
    }
    permute(d + 1, len);
}

void submain()
{
    int n;
    cin >> n;
    arr = new int[n];
    rarr = new int[n];
    for (int i = 0; i < n; i++)
        cin >> arr[i];
    res = LONG_MAX;
    permute(0, n);
    cout << res << endl;
    for (int i = 0; i < n; i++)
        cout << rarr[i] << " ";
    delete[] arr;
    delete[] rarr;
}

int main()
{
    freopen("sumtwo.inp","r",stdin);
    freopen("sumtwo.out","w",stdout);
    submain();
    return 0;
}
Về Đầu Trang Go down
lequanglamyb2007




Tổng số bài gửi : 304
Join date : 25/07/2022

Lê Quang Lâm - TK33 - Page 9 Empty
Bài gửiTiêu đề: Re: Lê Quang Lâm - TK33   Lê Quang Lâm - TK33 - Page 9 EmptyThu Nov 17, 2022 6:51 pm

Code:
#include <iostream>
#include <vector>

using namespace std;

bool pinary(long long u)
{
    if (u < 1) return false;
    vector<int> b;
    while (u > 0)
    {
        b.push_back((int)(u % 2));
        u /= 2;
    }
    size_t k = b.size();
    for (size_t i = 0; i < k - 1; i++)
        if ((b[i] == 1) && (b[i + 1] == 1))
            return false;
    return true;
}

void submain()
{
    int u;
    vector<int> b;
    while (cin >> u)
    {
        int i = 1;
        long long r = 1;
        while (i < u)
        {
            r++;
            if (pinary(r))
                i++;
        }
        int r1 = r;

        while (r1 > 0)
        {
            b.push_back((int)(r1 % 2));
            r1 /= 2;
        }
        size_t k = b.size();
        for (size_t i = 0; i < k; i++)
            cout << b[k - 1 - i];
        cout << endl;
        b.clear();
    }
}

int main()
{
    submain();
    return 0;
}
Về Đầu Trang Go down
lequanglamyb2007




Tổng số bài gửi : 304
Join date : 25/07/2022

Lê Quang Lâm - TK33 - Page 9 Empty
Bài gửiTiêu đề: Re: Lê Quang Lâm - TK33   Lê Quang Lâm - TK33 - Page 9 EmptySat Nov 26, 2022 9:05 pm

Code:
#include <iostream>

using namespace std;

int dsum(int n)
{
    int s = 0;
    while (n > 0)
    {
        s += n % 10;
        n /= 10;
    }
    return s;
}

int xuli(int n)
{
    for (int i = 1; i <= n; i++)
    {
        if (i + dsum(i) == n)
            return i;
    }
    return 0;
}

void submain()
{
    int nt;
    cin >> nt;
    for (int i = 0; i < nt; i++)
    {
        int n;
        cin >> n;
        cout << xuli(n) << endl;
    }
}

int main()
{
    submain();
    return 0;
}
Về Đầu Trang Go down
lequanglamyb2007




Tổng số bài gửi : 304
Join date : 25/07/2022

Lê Quang Lâm - TK33 - Page 9 Empty
Bài gửiTiêu đề: Re: Lê Quang Lâm - TK33   Lê Quang Lâm - TK33 - Page 9 EmptySat Nov 26, 2022 9:46 pm

Code:
#include <iostream>
#include <string>

using namespace std;

string sub1(int n)
{
    string s = "";
    for (int i = 1; i <= n; i++)
    {
        s += to_string(i);
    }
    bool odd = false;
    while (s.size() > 1)
    {
        string s1 = "";
        size_t start = odd ? 1 : 0;
        for (size_t i = start; i < s.size(); i += 2)
            s1 += s[i];
        s = s1;
        odd = !odd;
    }
    return s;
}

void submain()
{
    int n;
    cin >> n;
    cout << sub1(n);
}

int main()
{
    submain();
    return 0;
}
Về Đầu Trang Go down
lequanglamyb2007




Tổng số bài gửi : 304
Join date : 25/07/2022

Lê Quang Lâm - TK33 - Page 9 Empty
Bài gửiTiêu đề: Re: Lê Quang Lâm - TK33   Lê Quang Lâm - TK33 - Page 9 EmptyTue Dec 06, 2022 5:21 pm

Code:
#include <bits/stdc++.h>

using namespace std;

int divcnt(long long u)
{
    int cnt = 0;
    for (long long i = 1; i * i <= u; i++)
    {
        if (u % i == 0)
        {
            cnt++;
            if (i != u / i)
                cnt++;
        }
    }
    return cnt;
}

int main()
{
    int d;
    while(cin >> d)
    {
        long long n = 1;
        while (divcnt(n) != d && n <= trunc(1e15))
            n++;
        if (n > trunc(1e15))
            cout << "NO";
        else
            cout << n;
        cout << endl;
    }
    return 0;
}
Về Đầu Trang Go down
lequanglamyb2007




Tổng số bài gửi : 304
Join date : 25/07/2022

Lê Quang Lâm - TK33 - Page 9 Empty
Bài gửiTiêu đề: Re: Lê Quang Lâm - TK33   Lê Quang Lâm - TK33 - Page 9 EmptyThu Dec 08, 2022 6:10 pm

Code:
#include <iostream>
#include <string>
#include <vector>

using namespace std;

int dsum(int n)
{
    int s = 0;
    while (n > 0)
    {
        s += n % 10;
        n /= 10;
    }
    return s;
}

void sub1()
{
    string s;
    getline(cin, s);
    vector<unsigned int> vs;
    unsigned int k, mk = 0;
    while (cin >> k)
    {
        vs.push_back(k);
        mk = max(mk, k);
    }
    while (mk > s.size())
    {
        int t = stoi(s.substr(s.size() - 3, 3));
        s += to_string(dsum(t));
    }
    for (unsigned int i = 0; i < vs.size(); i++)
        cout << s[vs[i] - 1] << endl;
}

int main()
{
    sub1();
    return 0;
}
Về Đầu Trang Go down
lequanglamyb2007




Tổng số bài gửi : 304
Join date : 25/07/2022

Lê Quang Lâm - TK33 - Page 9 Empty
Bài gửiTiêu đề: Re: Lê Quang Lâm - TK33   Lê Quang Lâm - TK33 - Page 9 EmptyThu Dec 08, 2022 6:35 pm

Code:
#include <iostream>

using namespace std;
int a[2000][2000];

void sub1(int n)
{
    for (int i = 0; i <= n; i++)
    {
        a[i][0] = 1;
        a[i][i] = 1;
    }
    for (int i = 2; i <= n; i++)
    {
        for (int j = 1; j <= n; j++)
        {
            a[i][j] = (a[i - 1][j - 1] + a[i - 1][j]) % 2;
        }
    }
    int s = 0;
    for (int i = 0; i <= n; i++)
        s += a[n][i];
    cout << s << endl;
}

int main()
{
    int n;
    while (cin >> n)
        sub1(n);
    return 0;
}
Về Đầu Trang Go down
lequanglamyb2007




Tổng số bài gửi : 304
Join date : 25/07/2022

Lê Quang Lâm - TK33 - Page 9 Empty
Bài gửiTiêu đề: Re: Lê Quang Lâm - TK33   Lê Quang Lâm - TK33 - Page 9 EmptyTue Dec 13, 2022 5:11 pm

Code:
#include <bits/stdc++.h>

using namespace std;

typedef unsigned int uint;

int a[60];
uint n;
string s;
int res;

bool palin(string s)
{
    int n = s.size();
    string s1;
    s1 = "";
    for (int i = 0; i < n; i++)
    {
        s1 = s[i] + s1;
    }
    return s1 == s;
}

void save_res()
{
    string t = "";
    for (uint i = 0; i < n; i++)
        if (a[i] == 0)
            t += s[i];
    if (t != "" && palin(t))
    {
        res++;
    }
}

void bincnt(uint d)
{
    for (int val = 0; val <= 1; val++)
    {
        a[d] = val;
        if (d == n - 1)
            save_res();
        else
            bincnt(d + 1);
    }
}

int main()
{
    int tcnt;
    cin >> tcnt;
    for (int i = 0; i < tcnt; i++)
    {
        cin >> s;
        n = s.size();
        res = 0;
        bincnt(0);
        cout << res << endl;
    }
    return 0;
}
Về Đầu Trang Go down
lequanglamyb2007




Tổng số bài gửi : 304
Join date : 25/07/2022

Lê Quang Lâm - TK33 - Page 9 Empty
Bài gửiTiêu đề: Re: Lê Quang Lâm - TK33   Lê Quang Lâm - TK33 - Page 9 EmptyTue Dec 13, 2022 5:45 pm

Code:
#include <bits/stdc++.h>

using namespace std;

typedef unsigned int uint;

int arr[60];
uint n;
string a, b, r;
bool f;

bool palin(string s)
{
    int n = s.size();
    string s1;
    s1 = "";
    for (int i = 0; i < n; i++)
    {
        s1 = s[i] + s1;
    }
    return s1 == s;
}

void save_res()
{
    string t = "";
    for (uint i = 0; i < n; i++)
        if (arr[i] == 0)
            t += a[i];
    if (t != "" && b.find(t) == string::npos)
    {
        if (!f)
        {
            r = t;
            f = true;
        }
        else if (f && t.size() < r.size())
            r = t;
    }
}

void bincnt(uint d)
{
    for (int val = 0; val <= 1; val++)
    {
        arr[d] = val;
        if (d == n - 1)
            save_res();
        else
            bincnt(d + 1);
    }
}

int main()
{
    cin >> a >> b;
    n = a.size();
    f = false;
    bincnt(0);
    cout << r.size() << endl;
    cout << r;
    return 0;
}
Về Đầu Trang Go down
lequanglamyb2007




Tổng số bài gửi : 304
Join date : 25/07/2022

Lê Quang Lâm - TK33 - Page 9 Empty
Bài gửiTiêu đề: Re: Lê Quang Lâm - TK33   Lê Quang Lâm - TK33 - Page 9 EmptyTue Dec 13, 2022 5:58 pm

Code:
#include <iostream>

using namespace std;
int a[2000][2000];

int gcd(int x, int y)
{
    while (y > 0)
    {
        int r = x % y;
        x = y;
        y = r;
    }
    return x;
}

void sub1(int n)
{
    for (int i = 0; i <= n; i++)
    {
        a[i][0] = 1;
        a[i][i] = 1;
    }
    for (int i = 2; i <= n; i++)
    {
        for (int j = 1; j <= n; j++)
        {
            a[i][j] = (a[i - 1][j - 1] + a[i - 1][j]);
        }
    }
    int s = a[n][1];
    for (int i = 1; i <= n - 1; i++)
        s  = gcd(s, a[n][i]);
    cout << s << endl;
}

int main()
{
    int n;
    while (cin >> n)
        sub1(n);
    return 0;
}
Về Đầu Trang Go down
lequanglamyb2007




Tổng số bài gửi : 304
Join date : 25/07/2022

Lê Quang Lâm - TK33 - Page 9 Empty
Bài gửiTiêu đề: Re: Lê Quang Lâm - TK33   Lê Quang Lâm - TK33 - Page 9 EmptyTue Dec 13, 2022 6:21 pm

Code:
#include <bits/stdc++.h>

// permu.*

using namespace std;

int *arr;

void print_arr(int n)
{
    for (int i = 0; i < n; i++)
        cout << arr[i] << " ";
    cout << endl;
}

void permute(int n)
{
    int i, j;
    bool done = false;
    do
    {
        print_arr(n);
        i = n - 1;
        while (i > 0)
        {
            if (arr[i - 1] < arr[i]) break;
            i--;
        }
        if (i == 0) done = true;
        else
        {
            i--;
            for (j = n - 1; j > i; j--)
                if (arr[j] > arr[i]) break;
            swap(arr[i], arr[j]);
            reverse(arr+ i + 1, arr+n);
            i++;
        }
    }
    while(!done);
}

void submain()
{
    int n;
    cin >> n;
    arr = new int[n];
    for (int i = 0; i < n; i++)
        arr[i] = i + 1;
    permute(n);
    delete[] arr;
}

int main()
{
    submain();
    return 0;
}


Được sửa bởi lequanglamyb2007 ngày Thu Dec 15, 2022 5:10 pm; sửa lần 1.
Về Đầu Trang Go down
lequanglamyb2007




Tổng số bài gửi : 304
Join date : 25/07/2022

Lê Quang Lâm - TK33 - Page 9 Empty
Bài gửiTiêu đề: Re: Lê Quang Lâm - TK33   Lê Quang Lâm - TK33 - Page 9 EmptyThu Dec 15, 2022 5:08 pm

Code:
#include <bits/stdc++.h>

// permu.*

using namespace std;

int *arr, *buf;
int pnum;

void print_arr(int n)
{
//    for (int i = 0; i < n; i++)
//        cout << arr[i] << " ";
//    cout << endl;
    pnum++;
    for (int i = 0; i < n; i++)
        if (arr[i] != buf[i]) return;
    cout << pnum << endl;
}

void permute(int n)
{
    int i, j;
    bool done = false;
    do
    {
        print_arr(n);
        i = n - 1;
        while (i > 0)
        {
            if (arr[i - 1] < arr[i]) break;
            i--;
        }
        if (i == 0) done = true;
        else
        {
            i--;
            for (j = n - 1; j > i; j--)
                if (arr[j] > arr[i]) break;
            swap(arr[i], arr[j]);
            reverse(arr+ i + 1, arr+n);
            i++;
        }
    }
    while(!done);
}

void submain()
{
    int n;
    cin >> n;
    arr = new int[n];
    buf = new int[n];
    for (int i = 0; i < n; i++)
    {
        arr[i] = i + 1;
        cin >> buf[i];
    }
    pnum = 0;
    permute(n);
    delete[] arr;
    delete[] buf;
}

int main()
{
    submain();
    return 0;
}
Về Đầu Trang Go down
lequanglamyb2007




Tổng số bài gửi : 304
Join date : 25/07/2022

Lê Quang Lâm - TK33 - Page 9 Empty
Bài gửiTiêu đề: Re: Lê Quang Lâm - TK33   Lê Quang Lâm - TK33 - Page 9 EmptyThu Dec 15, 2022 5:20 pm

Code:
#include <bits/stdc++.h>

using namespace std;

int *arr;

void print_arr(int n)
{
    for (int i = 0; i < n; i++)
        if (arr[i] == i + 1) return;
    for (int i = 0; i < n; i++)
        cout << arr[i] << " ";
    cout << endl;
}

void permute(int n)
{
    int i, j;
    bool done = false;
    do
    {
        print_arr(n);
        i = n - 1;
        while (i > 0)
        {
            if (arr[i - 1] < arr[i]) break;
            i--;
        }
        if (i == 0) done = true;
        else
        {
            i--;
            for (j = n - 1; j > i; j--)
                if (arr[j] > arr[i]) break;
            swap(arr[i], arr[j]);
            reverse(arr+ i + 1, arr+n);
            i++;
        }
    }
    while(!done);
}

void submain()
{
    int n;
    cin >> n;
    arr = new int[n];
    for (int i = 0; i < n; i++)
        arr[i] = i + 1;
    permute(n);
    delete[] arr;
}

int main()
{
    submain();
    return 0;
}
Về Đầu Trang Go down
lequanglamyb2007




Tổng số bài gửi : 304
Join date : 25/07/2022

Lê Quang Lâm - TK33 - Page 9 Empty
Bài gửiTiêu đề: Re: Lê Quang Lâm - TK33   Lê Quang Lâm - TK33 - Page 9 EmptyThu Dec 15, 2022 5:34 pm

Code:
#include <bits/stdc++.h>

using namespace std;

int *arr;
long long r;
bool p;

void print_arr(int n)
{
//    for (int i = 0; i < n; i++)
//        cout << arr[i] << " ";
//    cout << endl;
    long long t = 0;
    for (int i = 0; i < n - 2; i++)
    {
        long long t2 = arr[i] - arr[i + 1] + arr[i + 2];
        t += t2 >= 0 ? t2 : -t2;
    }
    if (!p)
    {
        r = t;
        p = true;
    }
    else r = max(r, t);
}

void permute(int n)
{
    int i, j;
    bool done = false;
    do
    {
        print_arr(n);
        i = n - 1;
        while (i > 0)
        {
            if (arr[i - 1] < arr[i]) break;
            i--;
        }
        if (i == 0) done = true;
        else
        {
            i--;
            for (j = n - 1; j > i; j--)
                if (arr[j] > arr[i]) break;
            swap(arr[i], arr[j]);
            reverse(arr+ i + 1, arr+n);
            i++;
        }
    }
    while(!done);
}

void submain()
{
    int n;
    cin >> n;
    arr = new int[n];
    for (int i = 0; i < n; i++)
        cin >> arr[i];
    r = 0;
    p = false;
    permute(n);
    cout << r;
    delete[] arr;
}

int main()
{
    submain();
    return 0;
}
Về Đầu Trang Go down
lequanglamyb2007




Tổng số bài gửi : 304
Join date : 25/07/2022

Lê Quang Lâm - TK33 - Page 9 Empty
Bài gửiTiêu đề: Re: Lê Quang Lâm - TK33   Lê Quang Lâm - TK33 - Page 9 EmptyThu Dec 15, 2022 6:51 pm

Code:
#include <bits/stdc++.h>

using namespace std;

typedef unsigned int uint;

vector<uint> ind;
string str;
int r;

bool palin(string s)
{
    int n = s.size();
    string s1;
    s1 = "";
    for (int i = 0; i < n; i++)
    {
        s1 = s[i] + s1;
    }
    return s1 == s;
}

void print_arr(uint n)
{
    string t2 = "";
    for (uint i = 0; i < n; i++)
        t2 += str[ind[i]];
    if (palin(t2))
    {
        int t = stoi(t2, nullptr, 10);
        r = max(r, t);
    }
}

void permute(uint n)
{
    uint i, j;
    bool done = false;
    do
    {
        print_arr(n);
        i = n - 1;
        while (i > 0)
        {
            if (ind[i - 1] < ind[i]) break;
            i--;
        }
        if (i == 0) done = true;
        else
        {
            i--;
            for (j = n - 1; j > i; j--)
                if (ind[j] > ind[i]) break;
            swap(ind[i], ind[j]);
            reverse(ind.begin()+ i + 1, ind.end());
            i++;
        }
    }
    while(!done);
}

void submain()
{
    int num;
    cin >> num;
    str = to_string(num);
    uint n = str.size();
    ind.resize(n);
    for (uint i = 0; i < n; i++)
        ind[i] = i;
    permute(n);
    cout << r;
}

int main()
{
    submain();
    return 0;
}
Về Đầu Trang Go down
Sponsored content





Lê Quang Lâm - TK33 - Page 9 Empty
Bài gửiTiêu đề: Re: Lê Quang Lâm - TK33   Lê Quang Lâm - TK33 - Page 9 Empty

Về Đầu Trang Go down
 
Lê Quang Lâm - TK33
Về Đầu Trang 
Trang 9 trong tổng số 9 trangChuyển đến trang : Previous  1, 2, 3, 4, 5, 6, 7, 8, 9
 Similar topics
-
» Lê Quang Lâm - TK33
» Hà Quang Tất Đạt
» Đào Ngọc Quang b16
» Vũ Quang Trung
» Đào Ngọc Quang b13

Permissions in this forum:Bạn không có quyền trả lời bài viết
Hệ sinh thái số IELP :: Thực nghiệm phần C++ :: 3-Lập trình cơ bản 2-
Chuyển đến