유사 유전자

3975 단어 남방 우편 acm
  • Description

  • 모두 가 알다 시 피 인류 유전 자 는 염기 대 서열 로 볼 수 있 는데 4 가지 뉴 클 레오 티 드 를 포함 하고 A, C, G, T 로 간략화 된다.1 위 와 4 위 는 염기 'A', 2 위 와 3 위 는 염기 'C', 5 위 와 6 위 는 염기 'G', 7 위 와 8 위 는 염기 'T' 로 구 성 된 유전자 서열 'ACCAGGTT' 를 살 펴 보 자.Openxxx 는 이렇게 0, 1 행렬 을 구성 했다. 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 0, 1 행렬 의 i 행 j 열 은 1 이 고 그렇지 않 으 면 0 이다.만약 유전자 서열 X 가 유전자 서열 Y 와 같이 길 고 같은 0, 1 행렬 을 가지 고 있다 면 Openxxx 는 X 와 Y 가 비슷 한 유전자 서열 이 라 고 생각 할 것 이다.문 제 는 N 길이 의 유전자 서열 두 단락 을 드 리 겠 습 니 다. Openxxx 가 비슷 한 지 판단 하 는 데 도움 을 주 십시오.
  • Input

  • 여러 조 의 테스트 데이터, 각 조 의 데이터 첫 번 째 줄 은 하나의 정수 N (1 ≤ N ≤ 1000000) 을 입력 하고, 두 번 째 줄 과 세 번 째 줄 은 각각 두 단락 의 길이 가 N 인 유전자 서열 (A, C, G, T 네 가지 문자 로 만 구성) 을 입력 한다.파일 이 끝 날 때 까지 입력 하 십시오.
  • Output

  • 각 그룹의 데이터 출력 은 한 줄 에 불과 합 니 다. 비슷 하면 "YES" 를 출력 합 니 다. 그렇지 않 으 면 "NO" 를 출력 합 니 다. 작은 따옴표 가 출력 되 지 않도록 주의 하 십시오.
  • Sample Input

  • 1 A G 2 AA TG
  • Sample Output

  • YES NO
     #include
    using namespace std;
    char a[1000001];
    char b[1000001];
    
    int main()
    {
    //    freopen("in.txt","r",stdin);
        int len,x[26],y[26],visit[26];
        int i,count,tmp,ttmp;
        while(scanf("%d",&len)!=EOF)
        {
            getchar();
            int ok=1;
            memset(visit,0,sizeof(visit));
            gets(a);
            count=0;
            for(i=0;i'A';
                if(!visit[tmp])
                {
                    x[tmp]=count++;
                    visit[tmp]=1;
                }
            }
            gets(b);
            count=0;
            memset(visit,0,sizeof(visit));
            for(i=0;i'A';
                if(!visit[tmp])
                {
                    y[tmp]=count++;
                    visit[tmp]=1;
                }
                ttmp=a[i]-'A';
                if(x[ttmp]!=y[tmp])
                {ok=0;break;}
            }
            if(ok)
                printf("YES
    "
    ); else printf("NO
    "
    ); } return 0; }

    좋은 웹페이지 즐겨찾기