Submission #213439

#TimeUsernameProblemLanguageResultExecution timeMemory
213439MKopchevGenetics (BOI18_genetics)C++14
46 / 100
2100 ms29304 KiB
#include<bits/stdc++.h>
using namespace std;
const int nmax=4100+42;
int n,m,k;
char inp[nmax][nmax];

char in()
{
    char c=getchar();
    while(c!='A'&&c!='C'&&c!='G'&&c!='T')c=getchar();
    return c;
}

int seen[4][nmax];
int hsh(char c)
{
    if(c=='A')return 0;
    if(c=='C')return 1;
    if(c=='G')return 2;
    return 3;
}
void test(int bad)
{
    for(int i=1;i<=n;i++)
        if(i!=bad)
        {
            int diff=0;
            for(int j=1;j<=m;j++)
                if(inp[i][j]!=inp[bad][j])diff++;
            if(diff!=k)return;
        }
    printf("%i\n",bad);
    exit(0);
}
int main()
{
    scanf("%i%i%i",&n,&m,&k);

    for(int i=1;i<=n;i++)
        for(int j=1;j<=m;j++)
            inp[i][j]=in();

    for(int i=1;i<=n;i++)
        for(int j=1;j<=m;j++)
            seen[hsh(inp[i][j])][j]++;

    for(int i=1;i<=n;i++)
    {
        int total_diff=0;
        for(int j=1;j<=m;j++)
            total_diff+=seen[0][j]+seen[1][j]+seen[2][j]+seen[3][j]-seen[hsh(inp[i][j])][j];

        if(total_diff==k*(n-1))test(i);
    }

    return 0;
}

Compilation message (stderr)

genetics.cpp: In function 'int main()':
genetics.cpp:37:10: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
     scanf("%i%i%i",&n,&m,&k);
     ~~~~~^~~~~~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...