제출 #1142040

#제출 시각아이디문제언어결과실행 시간메모리
1142040FZ_LaabidiDNA 돌연변이 (IOI21_dna)C++20
22 / 100
1594 ms2444 KiB

#include<bits/stdc++.h>
#include "dna.h"
using namespace std;
int n, q; 
string a, b; 
void init(string A, string B){
    a=A;
    b=B; 
}
int get_distance(int x, int y){
    int dist = y-x+1;
    string s1="", s2="";
    map<int, int> freq1, freq2;
    for(int i = x; i<=y; i++){
        s1.push_back(a[i]);
        s2.push_back(b[i]);
        freq1[a[i]]++;
        freq2[b[i]]++;
    }
    string o = "ATC";
    for(char c: o)
        if(freq1[c]!=freq2[c])return -1;

    if(freq1['C']==0){
        int diff = 0;
        for(int i=0; i<dist; i++)
            if(s1[i]!=s2[i])diff++;
        return diff/2;
    }
    if(dist==3){
        int diff = 0;
        for(int i=0; i<dist; i++)
            if(s1[i]!=s2[i])diff++;
        if(diff==2)return 1;
        if(diff==0)return 0;
        if(diff==3)return 2;
    }
}

컴파일 시 표준 에러 (stderr) 메시지

dna.cpp: In function 'int get_distance(int, int)':
dna.cpp:39:1: warning: control reaches end of non-void function [-Wreturn-type]
   39 | }
      | ^
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...