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

XAUDADEP C++

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

int n,i,p,q,t;
    string s;
    int d[300],e[300];


void nhap()
{
    cin>>n;
    cin>>s;
}

int maxx(int a,int b,int c,int d)
{
    int m=a;
    if(b>m) m=b;
    if(c>m) m=c;
    if(d>m) m=d;
    return m;
}

void xuat()
{
   e['A']=p-d['A']+ t/4;
   e['G']=p-d['G']+ t/4;
   e['C']=p-d['C']+ t/4;
   e['T']=p-d['T']+ t/4;

   for(int i=0;i<=n-1;i++)
        if(s[i]=='?')
            if(e['A']>0)
                {s[i]='A';e['A']--;}
            else if(e['G']>0)
                {s[i]='G';e['G']--;}
            else if(e['C']>0)
                {s[i]='C';e['C']--;}
            else  if(e['T']>0)
                {s[i]='T';e['T']--;}

    cout<<s;

}

void giai()
{
   for(i=0;i<=n-1;i++)
        d[int(s[i])]++;
   p=maxx(d['A'],d['G'],d['T'],d['C']);
   q=4*p-d['A']-d['G']-d['C']-d['T'];
   if(q>d['?'])
        cout<<"===";
   else
   {
        t=d[int('?')]-q;
        if(t%4!=0)
            cout<<"===";
        else
            xuat();
   }
}

int main()
{
  // freopen("b.inp","r",stdin);
 //  freopen("b.out","w",stdout);
    nhap();
    giai();
}

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.