답안 #955050

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
955050 2024-03-29T09:05:36 Z IUA_Hasin DNA 돌연변이 (IOI21_dna) C++17
21 / 100
27 ms 3260 KB
#include <bits/stdc++.h>
 
#define endl                                "\n"
#define finp                                for(int i=0; i<n; i++)
#define fknp                                for(int k=0; k<n; k++)
#define yeap                                cout<<"YES"<<endl
#define nope                                cout<<"NO"<<endl
#define inpintn                             int n; cin>>n
#define inpintarrn                          int arr[n]; for(int i=0; i<n; i++){cin>>arr[i];}
#define inpllarrn                           long long arr[n]; for(int i=0; i<n; i++){cin>>arr[i];}
#define ll                                  long long
 
using namespace std;

#include "dna.h"

ll const N = 1e5+10;
string aa, bb;
// ll arra[N], arrc[N], arrt[N];
// ll brra[N], brrc[N], brrt[N];

void init(std::string a, std::string b) {
	aa = a;
	bb = b;
	// ll siz = a.size();
	// for(int i=1; i<=siz; i++){
	// 	if(a[i-1]=='A'){
	// 		arra[i] = arra[i-1]+1;
	// 		arrc[i] = arrc[i-1];
	// 	}
	// }
}

int get_distance(int x, int y) {
	string s1 = aa.substr(x, y-x+1);
	string s2 = bb.substr(x, y-x+1);
	ll siz1 = s1.size();
	ll siz2 = s2.size();
	ll s1a = 0;
	ll s1c = 0;
	ll s1t = 0;
	ll s2a = 0;
	ll s2c = 0;
	ll s2t = 0;
	ll dif = 0;
	for(int i=0; i<siz1; i++){
		if(s1[i]=='A'){
			s1a++;
		} else if(s1[i]=='C'){
			s1c++;
		} else {
			s1t++;
		}

		if(s2[i]=='A'){
			s2a++;
		} else if(s2[i]=='C'){
			s2c++;
		} else {
			s2t++;
		}
		if(s1[i]!=s2[i]){
			dif++;
		}
	}
	ll ans;
	if(s1a==s2a && s1c==s2c && s1t==s2t){
		if(dif==0){
			return 0;
		} else if(dif==2){
			return 1;
		} else {
			return 2;
		}
	} else {
		return -1;
	}
}

Compilation message

dna.cpp: In function 'int get_distance(int, int)':
dna.cpp:38:5: warning: unused variable 'siz2' [-Wunused-variable]
   38 |  ll siz2 = s2.size();
      |     ^~~~
dna.cpp:66:5: warning: unused variable 'ans' [-Wunused-variable]
   66 |  ll ans;
      |     ^~~
# 결과 실행 시간 메모리 Grader output
1 Correct 26 ms 2780 KB Output is correct
2 Correct 26 ms 3260 KB Output is correct
3 Correct 27 ms 3084 KB Output is correct
4 Correct 25 ms 3060 KB Output is correct
5 Correct 0 ms 344 KB Output is correct
6 Correct 1 ms 348 KB Output is correct
7 Correct 0 ms 348 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 348 KB Output is correct
2 Correct 0 ms 432 KB Output is correct
3 Correct 0 ms 348 KB Output is correct
4 Correct 2 ms 1236 KB Output is correct
5 Correct 2 ms 1116 KB Output is correct
6 Correct 2 ms 1116 KB Output is correct
7 Incorrect 5 ms 1260 KB Output isn't correct
8 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 348 KB Output is correct
2 Correct 0 ms 432 KB Output is correct
3 Correct 0 ms 348 KB Output is correct
4 Correct 2 ms 1236 KB Output is correct
5 Correct 2 ms 1116 KB Output is correct
6 Correct 2 ms 1116 KB Output is correct
7 Incorrect 5 ms 1260 KB Output isn't correct
8 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 348 KB Output is correct
2 Correct 0 ms 432 KB Output is correct
3 Correct 0 ms 348 KB Output is correct
4 Correct 2 ms 1236 KB Output is correct
5 Correct 2 ms 1116 KB Output is correct
6 Correct 2 ms 1116 KB Output is correct
7 Incorrect 5 ms 1260 KB Output isn't correct
8 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 26 ms 2780 KB Output is correct
2 Correct 26 ms 3260 KB Output is correct
3 Correct 27 ms 3084 KB Output is correct
4 Correct 25 ms 3060 KB Output is correct
5 Correct 0 ms 344 KB Output is correct
6 Correct 1 ms 348 KB Output is correct
7 Correct 0 ms 348 KB Output is correct
8 Correct 1 ms 348 KB Output is correct
9 Correct 0 ms 432 KB Output is correct
10 Correct 0 ms 348 KB Output is correct
11 Correct 2 ms 1236 KB Output is correct
12 Correct 2 ms 1116 KB Output is correct
13 Correct 2 ms 1116 KB Output is correct
14 Incorrect 5 ms 1260 KB Output isn't correct
15 Halted 0 ms 0 KB -