Advertisement
gha890826

0514-1 DNA連續鹽基重複次數

May 14th, 2021 (edited)
1,280
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.06 KB | None | 0 0
  1. #include<iostream>
  2. #include<vector>
  3. using namespace std;
  4.  
  5. struct node{
  6.     string sub;
  7.     int num;
  8.     node(string n):sub(n),num(1){};
  9.     node(){};
  10. };
  11.  
  12. int main()
  13. {
  14.     string dna;
  15.     int n;
  16.     cin>>dna>>n;
  17.     vector<node> ans;
  18.     for(int i=0;i<dna.length()-n+1;i++)
  19.     {
  20.         string sub_temp=dna.substr(i,n);
  21.         for(int j=0;j<ans.size();j++)
  22.         {
  23.             if(sub_temp==ans[j].sub)
  24.             {
  25.                 ans[j].num++;
  26.                 goto subend;
  27.             }
  28.         }
  29.         {
  30.             node node_temp(sub_temp);
  31.             ans.push_back(node_temp);
  32.         }
  33.         subend:
  34.             ;
  35.     }
  36.     for(int i=0;i<ans.size();i++)
  37.     {
  38.         printf("> %s : %d\n",ans[i].sub.c_str(),ans[i].num);
  39.     }
  40. }
  41. //ATCAGAGTCAGCAG
  42. //輸入說明:
  43. //         每筆輸入有一串DNA字串以及正整數n
  44. //
  45. //輸出說明:
  46. //         依照輸入的DNA字串和正整數n列出n個連續鹽基的重複次數
  47. //SAMPLE INPUT
  48. //          ATCAGAGTCAGCAG 3
  49. //SAMPLE OUTPUT
  50. //          > ATC : 1
  51. //          > TCA : 2
  52. //          > CAG : 3
  53. //          > AGA : 1
  54. //          > GAG : 1
  55. //          > AGT : 1
  56. //          > GTC : 1
  57. //          > AGC : 1
  58. //          > GCA : 1
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement