Thứ Tư, 27 tháng 4, 2022

EXARRAY C++

#include<bits/stdc++.h>
using namespace std;

int n,kq=0;
int a[1005];
int b[1005];
int vt[1005]={0};

void trao(int i)
{
    int tmp = a[i];
    a[i] = a[i+1];
    a[i+1] = tmp;
}

void input()
{
    cin >> n;
    for(int i = 1; i <= n; i++)
        cin >> a[i];
    for(int j = 1; j <= n; j++)
        cin >> b[j];
}
void solve()
{
    for ( int i = 1; i <= n; i++ )
    {
        for ( int j = i; j <= n; j++ )
        {
            if ( b[i] == a[j] ) 
            {
                vt[i] = j;
                break;
            }
        }
        if ( vt[i] > 0 )
        {
            kq = kq + vt[i] - i;
            for ( int j = vt[i]-1; j >= i; j-- )
            {
                trao(j);
            }
        } else {
            cout << -1;
            exit(0);
        }
    }
    cout << kq << endl;
    for ( int i = 1; i <= n; i++ )
    {
        for ( int j = vt[i] - 1; j >= i; j-- ){
            cout << j << " ";
        }
    }
}

int main()
{
    freopen("exarray.inp","r", stdin);
    freopen("exarray.out","w", stdout);
    input();
    solve();
}

Không có nhận xét nào:

Đăng nhận xét

Lưu ý: Chỉ thành viên của blog này mới được đăng nhận xét.