Submission #483704

#TimeUsernameProblemLanguageResultExecution timeMemory
483704tredsused70Mutating DNA (IOI21_dna)C++17
Compilation error
0 ms0 KiB
using namespace std;

#define accelerator ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0)
#define fi first
#define se second
#define pb push_back
typedef long long ll;
typedef unsigned long long ull;
typedef long double ld;
const int nmax=200011,mod=1000000007,inf=2000010000,key=200003;
const ll infll=4000000000000000000;
const ld eps=1e-7;

void init()
{
    return ;
}

string a,b;
int cntc[nmax][3]={0},mas1[nmax]={0},mas2[nmax]={0},cnt[nmax][3][3]={0};

void cnv(string &s,int mas[])
{
    int n=s.size();
    for(int i=0;i<n;i++)
    {
        if(s[i]=='A')
        {
            mas[i+1]=0;
            continue;
        }
        if(s[i]=='T')
            mas[i+1]=1;
        else
            mas[i+1]=2;
    }
    return ;
}

void init(string &a,string &b)
{
    cnv(a,mas1);
    cnv(b,mas2);
    int n=a.size();
    for(int i=0;i<n;i++)
    {
        for(int j=0;j<3;j++)
            cntc[i+1][j]=cntc[i][j];
        cntc[i+1][mas1[i+1]]++;
        cntc[i+1][mas2[i+1]]--;
        for(int j=0;j<3;j++)
            for(int k=0;k<3;k++)
                cnt[i+1][j][k]=cnt[i][j][k];
        cnt[i+1][mas1[i+1]][mas2[i+1]]++;
    }
    return ;
}

int count_swaps(int mas[3][3])
{
    int ans=0,t;
    for(int i=0;i<3;i++)
    {
        mas[i][i]=0;
        for(int j=i+1;j<3;j++)
        {
            t=min(mas[i][j],mas[j][i]);
            ans+=t;
            mas[i][j]-=t;
            mas[j][i]-=t;
        }
    }
    t=0;
    for(int i=0;i<3;i++)
        for(int j=0;j<3;j++)
            t+=mas[i][j];
    ans+=2*t/3;
    return ans;
}

int get_distance(int l,int r)
{
    r++;
    for(int i=0;i<3;i++)
    {
        if(cntc[l][i]!=cntc[r][i])
            return -1;
    }
    int cntt[3][3];
    for(int i=0;i<3;i++)
        for(int j=0;j<3;j++)
        {
            cntt[i][j]=cnt[r][i][j];
            cntt[i][j]-=cnt[l][i][j];
        }
    return count_swaps(cntt);
}

Compilation message (stderr)

dna.cpp:19:1: error: 'string' does not name a type
   19 | string a,b;
      | ^~~~~~
dna.cpp:22:6: error: variable or field 'cnv' declared void
   22 | void cnv(string &s,int mas[])
      |      ^~~
dna.cpp:22:10: error: 'string' was not declared in this scope
   22 | void cnv(string &s,int mas[])
      |          ^~~~~~
dna.cpp:1:1: note: 'std::string' is defined in header '<string>'; did you forget to '#include <string>'?
  +++ |+#include <string>
    1 | using namespace std;
dna.cpp:22:18: error: 's' was not declared in this scope; did you mean 'se'?
   22 | void cnv(string &s,int mas[])
      |                  ^
      |                  se
dna.cpp:22:20: error: expected primary-expression before 'int'
   22 | void cnv(string &s,int mas[])
      |                    ^~~
dna.cpp:40:6: error: variable or field 'init' declared void
   40 | void init(string &a,string &b)
      |      ^~~~
dna.cpp:40:11: error: 'string' was not declared in this scope
   40 | void init(string &a,string &b)
      |           ^~~~~~
dna.cpp:40:11: note: 'std::string' is defined in header '<string>'; did you forget to '#include <string>'?
dna.cpp:40:19: error: 'a' was not declared in this scope
   40 | void init(string &a,string &b)
      |                   ^
dna.cpp:40:21: error: 'string' was not declared in this scope
   40 | void init(string &a,string &b)
      |                     ^~~~~~
dna.cpp:40:21: note: 'std::string' is defined in header '<string>'; did you forget to '#include <string>'?
dna.cpp:40:29: error: 'b' was not declared in this scope; did you mean 'pb'?
   40 | void init(string &a,string &b)
      |                             ^
      |                             pb
dna.cpp: In function 'int count_swaps(int (*)[3])':
dna.cpp:67:15: error: 'min' was not declared in this scope
   67 |             t=min(mas[i][j],mas[j][i]);
      |               ^~~