Пример #1
0
        static void Main(string[] args)
        {
            string input = "GCGAAATAA$";
            string bwt   = BWT.BWTransform(input);

            Console.WriteLine("Bwt is :  " + bwt);
            string invertBwt = BWT.InverseBWT(bwt);

            Console.WriteLine("Primary text is:  " + invertBwt);
            //if (input == invertBwt)
            //    Console.WriteLine("yeeeeeeeeeeees!!!");
            //else
            //    Console.WriteLine("riiiiiiiiiiiiiiiiiid");
            Console.WriteLine(BWT.InverseBWT("CTAGTAACTCGTGCCTCTTCGCGATGTGCCTCGACTTCCTTGCGTACGGGATCGCCACTCATGGTCCGGCCCGGACTGTGGAATATAGAGGTAACCCACACCAGAAAGGCTTTCCCCACTAGGAATCAAAGTAGTGCCGGCTTCGCTCGACCCGAAGACCGCCTCTTCTCTTCCTCACCATTTGTCCTGTCAGGGCGCCCCTGCCGCTACCTCGGTAAAGCTGAGTCTGCAGTGTGAAATGATTCGGCTCCTCGGGTCCCACAACACAGACCATAGGCTGGATCCACTAGACGCCGTGTCCACGATGTGATTTATTTTGAAAGTTGGACCAACGCGCCAGAGCTTCTCTGCGCACGGTATACACCCTGTCCTGTTTCGATCGTTGTGTAGCCAGTTGTTCAACCTGAGAGTGGCACGCGAGAAAAGCAGCCCCGCGCAATACTTAGCTGTTTCGTGCAATGCGAAACTAGACCAATAATTGAGTGGGTGTGATCCCGAGTCGTATCTTGACCAAGCGCTCGTATAGCACAGGAGGTACCTTCGCAAGGCTCTCCAGGGGCCATAAAAAGCAGTGGAAATGGGCGTACCTTCCCAGGGCCGCAATTGAGTCTCTTCTGGTGCACGAAATACGCGTCAACCCGCCCACCCTTCCTCGGACCAATTCCAGCATTGTGCAGTCTTACACACGTAACGTTGTACTCAGGCCCGTCCAATGCGCTATTCAACTCCCTGAAACTAGCACTTTCCGGGGAAGGCGGACTGCAGGCTGATACATTGAGCTACAGGTGAGTCCGTTGCATATTTGGGTGACCTGCGTAGAGCGTTGAATCGGGATGTGGACTCGGAGGTTTGAGCTTCGTGGTGGCTCCCTGGACGAACGCAGATCTTTTGTGCTCCGATTTACTAGGGCGGGCCGGTCTAAGGATCTCTTTCGCTGCGGGATGCACGCACGACGATTATATCGATTGCCGCCTGACGTCAATATGCCCTATTACGTTCCTCCCTAGCAGGAATAAGTTGAAGAATTAAGATACCAATGTGGGGCTTCAAGAAGAACCTTTTTGGGTCCCACGAAAAAAAGACGGTTGCCCGAGATTGTCAGCCCGGTGTATTGCAGGTAAGAGTATGGTACTTTTATCTTCCATGCGAAACTTCACACATCATTGCGCACTCAGCGCTGATGGACAACGGACGGCAGACAACTGATTCGGCGGAATTTATCAGCAGCTGGAGCATTGGGCAGAGAGACTTGCCCAACGGGGTAAACCTTCTGCATGTTAGGAAGTTGTAGGTCTGCCGAACGTTTCAAGCCGAGGGAATAGGAACTACTGTAAACAGGTCCATCAAGGATCCTACCCCGGGGGTCAAATACCCCAGCCGCATAAGGCGATTCTAGAAATACCGTGGTTGTCATTCATGGTCTGTCATGGCCTATGTTTTTCAAAGTGGAGGGACACCTAGGTGCTTCTGCATCCGGAATACATGTGTACGCTGCACTCCTATCTTTAACACCCATGCTAGTATACATACATCCTTCTTTAACCCTAAGGTGACTTATCTTTCTCTGAACGGTACCCAGTGGTCACGTAGGTGGGCCCATCTTTCCAATTAGGCCTCACGACCCGATGGTGGGGAGTCTGATCCCGATGCAGGACCCCAGGTCCTTCACCGCCATCTCGAAGTGACGTCGCGATCCCGTCAAGATTAGAAACTCCAGTTGGGGTGTCGTCTCCAGCGGTCCGCAAGAGGTTCTACCCACCCTGATCTACTACAAGACGGGGTAATTATGTTGACTATTCCAACCGTGACTCTTGTGGAATAGGTTTACTAAGCCTCTAGAGGCGACTTCATTTCCACAGAGATAGTTACCGTTATGGATTTTGGTGGCCAGCGGTCCTTCCTAGATTGCTTTACATCATGGTGACACTCGGGTACGGAGGATAATTATCGTTTTAGGTCTGAGTATTCAAATGCCTGATAAAGCGCTTTGCAGACTCGTCTTTGCAGCAGCTTATAGATCATGATTGACACGACCGACTAGATTTCGAGTGCAGAAGCGACTAATAGCACCAACCGTCTGACAACTACTTCAGGGGGAGCTCCAAGTCCAGCCTAACTGGTGAAAGAATGTGAGATCCTATGACCCGTATCGT$CCTAATACAATCTGGACGCCTTAAACCAATCATCCCGGACAAGTTTCTGTTCTACAAAATTAGTGTAAAGCCAGGTGTGCTTCGCTTTCTTAAGGTAGACGGACTACTATCTAATCGTCAGTCGGGGCGTGGTAACACAGACCTAGTCCCTTGCACCCAAATTCCTCAGACTAAGTTATTCGGTTCTCTGAAGCAGTGGATGCTATAACTCCAGAAGATGGTTTGGAGTGTGGAGGTATCGGCTCACAATTGGGCGCCAGGCGGTGAATTTAGTCACTTCGGTTCCTATGCCATAAAGCTGACAGTGAGGAAGCGAAAGGGCGCCACATCAGTGGACGTCGCACTGACCTGGGCCGAATTAGCTACTTTGTTAATTAGACGGGGATTTCCACGACTTACCAGGCGCTCATTGCAACAGAGAAGCGGGCAGAAGTCCTCAAATTGTACCTTCTCTCAATATTCCAGTCTACGGTTGTGGAGCCGTCGGGGAGTACCACGCAGGACTTTTAAGGAAGCTAAGCGTCGCACCGTGGCATTAGTGTATAGGCAACGAACCTCATCGTAGTAGGGGACATAAGGTTTCGCTATTTGGCATTTAATACTACAAGGACCGGAAAGGTTTAGCCGTTTCATGTCCCATTAAATCAGGACAGACAGCGAGTAATTAATGCGCGCTGAGAGCGTCGTGGCGAGGGGATGAGGGGCGCACGCTGACCCTCGACCGTGGCGCTTTTAGCCTAATACTCTGAAGGACCGGACACGTGCTTGGCGGGTCCAAACAATCAATCTCGGTGTTCACGCGAAGAGCGCAGCAATGGACGTCGATGGATTGCAAACTGATAGCAGTTCGCTAATCTAACACGAGTCGGTGAAGCAGTATACCTGGGCACCGGTGCTCGGGCTATCGGAAGAAGACATGTGTTCTCGCGGGGAAATGTTCGGACCATATCTAGCTCTGAATGCATCCGACAGAATCAACTTTCCTGTGTGTGCACTGAACCCGACGCATGTACAACCTAATTCAAGCACCCGGGACCTGCTAAGCTGATCAACCCGCTAGGTAAAGATATGTCCAGCGAGATTGACATTCCACGAACCCGAAGTGCAGTGCTTCTTTTTCGAACCTATGTGTGAAACTCGTGAGTGACACGTGCGTAAAAAAAATTTCCTCATAACGATCGACCCGTTGCAGATAACGACCGAACAAATTGGCCGCGACGTGCCCACCCACCCTACGGACCTTGCGTTGCGAACGATCTTAACCGGGATATGTGTCTCTTGAGGGGCAGAACACCCGCGATTCTCGTCGGGCAAGTCGTACAAATGAATGCAGTTGGCCAGTCACTGCTTCGATTCTCCGGGTGTAGATGAACGTACTGTGCTCGCGCCCCGGATTCCCCTTAAAGCTTAAGGTCAAGGATAGAGGTGGGGTGGCCGTTTACTATGACCCCCTCGCTCGCGAGTATGAACCTTGTCCCAACATTAAAATATGATACATTAGAGGCGGGAGGTCTTCGGCTACGCCTTCCATAGGGGTTTCAAAACCCGTACACCTACACGGTGCCGACTCCACTAACGAACCCCCAAGGAAAGTCAATCTAGGCCGTCTCCCGGGTTAGTGTCCCTCCTTCACCCTCGTAAGAACGCACCGATGACGTCTCGTCTTGATCATCCGCCGTAGGTGCCTTGTCGGGGTCCGGTATCATCCACACTCCTCCATCTTGTCTGAGGTTGAGAGTCCTAACGTTGGGCTACCTTCCCCATGAAGAAGTTCAGCAGATCTTGATCGAGCTTACTGAGATTGTAGCTTGCCTTGAAATATTATCAATACAATAAGTGTTGATGCCACTCTATCCCGGGGCATCTTCTTGTGCTGGCAAAAAATTGGCTCACTCGCGTACACTTCCGGCTATACGTGCAACGCCGCACGTTCTAGTTATAAGTAACCCTCTACAAGGGAGGAGGCTAAACCGTAGTCCGTACGTAAATTGCAGGGTCCAGGCGCTGGGGGTTATGGGGACACACGTTTGACAGATCTAGAACAGCCCGTATCTATCTCCCCCCTTCTCACTCGACACCGTTATAGGACTTTGTTTCGCTGGTATTCTCTAGACATAATTGGTTCTCCACAATGACTCCTGGCACCGAGGCCACCGTAAGCTATATGTCCGCGGTAAAAGGGTTCATCGAATGAAAAGGTGCAGACGAAGATGTGGCGCGCGACTGCGTCCTTGATCATGACAGGGTCGTGTCTTCAATGGACACTATGTGCATTTCCTCCGCGCCCGCGACCACCTGCGACCGCCAGAGCCGGCACAGCATCTAAGCGTGTAATTAGTACCCAGAGCATACGTCTTGTTGCGGCATAACAACAGTGGCTGTGCTTGGGCGAATCAGCAGGTTCGGCGGTTGCACGAACCCTGCGTCGCACAGGAATGTCATGCAGAGGTTGGGTGATATCTCTGTTGACGTATGGATGCCAAATTGTCGGCAGTTCCAGTAACATACGCACTTAGCCCTCAAGGGTACGACGGTTGCCGAGAGTGCTGCGTCCCCAAGTTGAAACGACGCCCGAAGTCATTTTTTTCGGCTCTCCAGGTTAGTCGAAGGTGTCTACTATCCGTTGGGGCAAGACGTCCAGCAAGCTCAGGTATCTTCCAGCTCTGCGTTCATACATGCTGTGAATCTCTTAGGTTCCCCCTACATTTCGCGACGCACCGCTTCCTGACCTCCTCCTGAATTCCGCAAGTCTCAAAACCTCCTCCTAATCAATACCACGCCTGCCACTTTATTCAGCGTTGATTACGTCTACTCGCATATACTTGGCTAAGACAAGGGGTGGGGAGGATGGGGTTTCCGATGGATAATTAAAATTGCGGCTACGTGGTACTCCATGCGCTGAAAGTGAACACCCACTACTCTCACATATTGCAATGGTTGGATTGGCATACGGCTCAGTTCGGTATATTTTCGGTGTGAATGGTCGTGGTAGGTCTAGCAGATTGGTTCCTACACCCCATGGAGCTGCTCACGTGTGCACATACGATACGCGTAAGTTGAGGAAAAGTAGATAGCATCCGGGCAACTTGATCGCGAACCTGCGGATGATTGGGCCAAGTCCCCGTCAACTGCGAAGTTCGAACGATCCATCTTCCGGGCAATCTACTACACCTAGGCCATGGAATTAAACCATGCACATCCGAGGGCCAGCGACTCTATCGCCCCCAATGTTGGCCGGTAGGTCAACCGGTTTTTCGCGTAAACAGGACATGTCAATTTACTTTGATTAGAGTGCCCTATAACGACGATTCGTTGGTATTCTATCTCGGCGGAAACGCGGACAACAGTTTAACCGTTTTTGTATATAGGGTGAACATATATCATGGTAGTCCACGATGTCTGTTGCAGAGCTGCTGTACCATAACGACACACATATCGGAACCAGGGCGCATGCGGGGACCTAAGGGGGTCCAGGTGTCAGGCAAACACGAACCGGTTCATTCGTATGTACAATTCCTTCGGTGTAAGAAAAAGCAGGACGTCCCTATGCTGTTGCAAAAGAATGTTACTCCTTTTCCTCTTGTAGGTTAGCCGATTGGCGCGTCGGCGCGATGATCGGTTAATTTAAGCTCTATACTCCCTCAAGGACGTTTCTCGACCTCGGCCCCTACATACGAACGACTATAGAATTCACATGTGGAACGGTCAATACCTTTCTGGTATTTCAAGGGGATTTGGTGGCCTTGGGCATCAGTCCGACTCGTCTAGACTATTAGGTCGAATATATACTGTCCACTCTAGGTGTTCCGAGAGGGTATCTTAAAAGCTGGCCTTCCATCACTAGAAATGTGAGTCAAGTTACCTAACTGTCATGGGCAGGGAATCTCTGAGAGTCATATCGACGCACTTGTCGGATTGGACGAGCGTGGATCCTCGGCACCGTCTTTCCTAAGCTTGTGTGAGGACGCCCCATGCCACTGTCCAGATTTGCACACAACGGCCGGGCGCATATACTCCGAAGGATCAGCGCGAAGGATAGGTAGTATCGCAAGGAGGACATGCTTTGACTGCTTAAGGTCCGCATTGGCACCTACTGGATTAGAGTAATACGTCGAGATGCGTCGGGACATTTTCTCGCTTCCAGCGGCTTATCCGGAGGCGTCACAATTGTCCGAGATTGCGAAATATGCAGACTGTAACTAGCTCCCTGTGTGGTTTTGCGAGTACGAAGAAGGGCTGCCGTATAATGAGAGGGCTTACGCCAAACAGCGGCGCCCAACAGCCAGGCGGAAGGCGCCACCTATATTACTAAGCCAACTCTTCTTGCTTATTCTGAGCCGGACGATTCCCGGACGACTTCATAACTTATCCTACGTTGAGCGCAGCGTGTTGACTAATCGCATTACCACGGCGGTTTGGCTGGCGCCCCATCTCTGTAACCATGTGGTTATACGAGTCTGGGCAATACGGACCCTGGTGTATGCCCTTGTAGTTGTTCTACATTAGCGTGTTCGTACCTGCTTGGGCTCAGCCCCGCGCCCCAGAGAATATAGTTTATTCTGTCAGCGGACCCCTGGGCTGAAGCTCAATTACTGTTCCATGCTGGAGTGACTCTCAAAGTGCCATGGATGCAGCGACGAGCCTGCCCCTTTAAAAAGCTGTACATTGGAACTGCTTTTCTAGACCCCAGCTCACCTTAGCGTATAGGGCTTCTGATAGGACGCTCGAATGTATGTCAACGTATCGCGCTATCTATAGTCCAGACGACTAGCGTTGGGGGGAACTCTACTCGTACGCGCCGCCGAACTTACCCTTTATCAGTAAGTCTTCTACGCTCTATCCTTTGAGTTCCCCCTGCCTCATTGACGTCATGAGGGCCTAGAAGCTGCCTGATAATGGTCGCGCAACGTGTATTCCCCGGCCAGATTAGACAATACGTGCACGACATTCCTCCTCGACCCTTCTGCCGGCGCGAATGGCCACGAAAACTTCTGTGCCGTTCTGGCTTTATGCAACGGAATCCAACACCATAGTCATCCCAACGCCAACCCGACGCTAGGCTCGCGGGTCACCGCAGGATAGTACTCCCCTGGATGCCACTGATCTAGACCTAAGGAGGCGTATACCGACTACCCAAGAGATAGAATAGCCTGTCCAATTGCCTTAACACGTCTCATGATCCGTTCCGTACTATATCTCACCTTCTAGTGATTAGTAGCCACTCGGTCGGTGTGATGGGCTGTATGTGCTTTGGTTACCTGACCTAAATTTTGAACTTTATGTTTTGACCACTAAGGCGATCGCGGAGGGGATGACGGTGCCCGTTCCATCACCCAGAACATGGGCTTGGGTTGGTGACAAGCGCAACATAACTCATGCGGACGTGGTAACGCCACTTCTCTATCTCAGCGGAGGTCTCGGATGCACAACGAGCCGGCGAGTAAGGCCGCCTACTTTAGGGGCAGACCTCCCTGCTTCAATCGAAATGCGGCTCTGGTTGATTACTCGACGTACTTAAGCGGCCATATGGGTACAAATCACCCACACCCATGCGACGGACTTATGTAAGCTCTCAACTTTAACCACTTTGACCATAATTGAGGTCGGTCAAAGTCAGTCTCAGAAGTTAGTACGAGGTTACGGCGTGGTACTTCCTCGAACGTTATTTACTGAGACATCACTCGGGGGGTCACCTCACACTTCTGAACAATATAGGCGAAACCTTGCATGCCCCGATTAATATGTGTGACCGTGATTAATTTCTACACGCCTCACGTATCGGCCTTTATAACTTGGGGGGACAGCACAAGCAACAACACGTAAGTTGCGAGGGTCGGCCTCTGGTGAGTTATACATTTAAGCGTAGAGTCTATTATTTATGATAGGGTACAACTCTCCACGAGCGAACTCTATTGAGTCTCAAGCCTTACTGATTGCGTCTTACTAGGAACCAGGGCGGAGTATCAGGTGGACCCTGTGTCGCAATCACTCCAACGAGCGAATATATGTCGAACCTCAAGCCCTACTGAGACTCTTGTGTAACGTCTCCGTACAGGAAACCTGCTATTTGGTTTAATCCAATGGTGGTCGGGCTCCGTTGAGCGAGCGAGTATACCAGAAGCTACTATCGGTCTCATCCGACTCGCGGCTATCGAGGTCTCGGAACTGCAGTGAGGGTTTTCAGGAAAGCAACCGGAAGCCTTGCGGAATGCGGCGGCTGTCCCAGCCCCTTTATGTTGGCAACTTCACTCTAAGCTATATTTGTCCCCACCCAATCGCAGCAACCTTGCTGTCCATCCGTGGCCGACGCGATTTCCAAGTCATTTTATGGGGTGACACTTTCGATGTGTTGTTCGCAAGACCAGCACCGGCAAAATAGGGGTCGAGCGTCGCTGATGTCAGCTCTTCGGGCAACATGTATAAGTGCTCGAAATCTCTCAGAACTCGTCGAGGTCGAGATAATCTGTATTACAATCAGAAAAGGGGTAACATCCAAGACGGTACAGAGCGAGTTACGCAGGGTAAACAAGACCGAAGGGCGCGCGGGCTTTAAGCTGGGACCCTTTCGGTTTTGTGGCCCGAATATATGAGTACATTCTTGAAATTGATAAATGGGCCGAAATCCACCGGCGGTGGTGGCGTTCGCTCGTAAGACTGGTCGATGGTATCTATACTACAGGGTTCGGTAACCCCACAGATGGGGTCTTGCCAATCCAATAGACGTTCTCAGTGCGTTAAAGACGACCCTAGTCTCTGATGGAGATGTGTCTTTCCCTGGTCTGGAGAAGTCGGAGTCTCAAAATTCTATATGCATGCATGTGCAAGATCTACGGAGCTTTGCCTCGTCGGCTCGCTCCTTGAGTTAAGTATCACCCGTTCCGCATGCATAACAAGCATACCTCGCGTCCACTTGGCCCGTTCCATTGCACGCCGCAGAGGAAAGGTTTCCTATGTCTTACTGCCGACCCACCAGTTCATACACGCGCACTCACGTCTCATTTCGGTCGCGGACCGCCTATTCACGGACCCGGATTTGAGCTCCCGATCCCCACCACATCCGCTCATAAGGTCCAATCCATCCCCAGATTGGGAACGGCGAAGCCCCCCAGTTGTCGGGCCAATGTGGAAGAGATCTACGAATTTGCGCATCGGGCGATTATCACACGTGACAGCAGAAGCGTCTAGTTGTTTTCGACTCGTAGCCACCACCGTACCATTCGGTGATTAGCCTCAAAAACTAGGGGGTCTTAGTTATGGTGCGCCAGATTCTTAAAATTTACGTTGGCTTGATTGTGCGAAGCACAACTGAGGAAACTGGACAGGGAAAGCGTGCAGATGATCGGGGACGCCGTTGCGGTCGATGCAAGAGATCGCCCTCTGCGAGGGGCAAGATCTAAGGTTGGCAGAACGGAGCCCTCAGGTGTGGTCGTTGGTCC"));
        }
Пример #2
0
 public long[] Solve(string text)
 {
     return(BWT.SuffixArray(text));
 }
Пример #3
0
 public string Solve(string text)
 {
     return(BWT.BWTransform(text));
 }
Пример #4
0
 public string Solve(string bwt)
 {
     return(BWT.InverseBWT(bwt));
 }