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

JOURNEY C++

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

int tx,ty,x,y,k,d[100];
string s;

void nhap()
{
    cin>>tx>>ty; getline(cin,s);
    getline(cin,s);
}

void b1()
{
    x=0;y=0;
    for(int i=0;i<=s.length()-1;i++)
    {
        if(s[i]=='U') y++;
        if(s[i]=='D') y--;
        if(s[i]=='R') x++;
        if(s[i]=='L') x--;
        if(s[i]=='?') k++;

    }
}

void b2()
{
    if(x>tx)
    {
        d['L']=x-tx;
        k=k-d['L'];
    }
    else
    {
        d['R']=tx-x;
        k=k-d['R'];
    }
    if(y>ty)
    {
        d['D']=y-ty;
        k=k-d['D'];
    }
    else
    {
        d['U']=ty-y;
        k=k-d['U'];
    }
}

void xuat()
{
    for(int i=0;i<=s.length()-1;i++)
    {
        if(s[i]=='?')
        {
            for(int j='D';j<='U';j++)
            {
                if(d[j]>0)
                {
                    s[i]=char(j);
                    d[j]--;
                    break;
                }
            }

        }
    }
    cout<<s;
}

void b3()
{
    if(k<0)
        cout<<"IMPOSSIBLE";
    else
        if(k%2==0)
        {
            d['D']=d['D']+k/2;
            d['U']=d['U']+k/2;
            xuat();
        }
        else
            cout<<"IMPOSSIBLE";
}

int main()
{
    freopen("journey.inp","r",stdin);
    freopen("journey.out","w",stdout);
    nhap();
    b1();
    b2();
    b3();
}

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.