제출 #1216848

#제출 시각아이디문제언어결과실행 시간메모리
1216848islam_2010DNA 돌연변이 (IOI21_dna)C++20
컴파일 에러
0 ms0 KiB
#pragma GCC optimize("O3")
#include "dna.h"
#include <bits/stdc++.h>
using namespace std;
string s, c;
const int sz = 100005;
int pref_diff[sz];

void init(string a, string b){
    s=a;
    c=b;
    pref_diff[0] = (a[0]!=b[0]);
    for(int i = 1; i < s.size(); i++){
        pref_diff[i] = pref_diff[i-1] + (a[i]!=b[i]);
    }
}

int get_distance(int x, int y){
    string ss=s.substr(x, y-x+1), cc=c.substr(x, y-x+1);
    string s2 = ss, c2=cc;
    sort(ss.begin(), ss.end());
    sort(cc.begin(), cc.end());
    if(ss!=cc){
        return -1;
    }
    if(s2==c2){
        return 0;
    }
    if(y-x<3){
        sort(ss.begin(), ss.end());
        sort(cc.begin(), cc.end());
        if(ss!=cc){
            return -1;
        }if(s2==c2){
            return 0;
        }if(y-x+1==1){
            return 0;
        }else if(y-x+1==2){
            return 1;
        }else {
            int cnt = 0;
            if(s2[0]!=c2[0]){
                cnt++;
            }if(s2[1]!=c2[1]){
                cnt++;
            }if(s2[2]!=c2[2]){
                cnt++;
            }if(cnt==2){
                return 1;
            }else {
                return 2;
            }
        }
    }else {
        int aa = pref_diff[y]-(x>0 ? pref_diff[x-1], 0);
        
        return aa/2;
    }
    
}

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

dna.cpp: In function 'int get_distance(int, int)':
dna.cpp:55:55: error: expected ':' before ')' token
   55 |         int aa = pref_diff[y]-(x>0 ? pref_diff[x-1], 0);
      |                                                       ^
      |                                                       :
dna.cpp:55:55: error: expected primary-expression before ')' token