fork(2) download
  1. #include <iostream>
  2. #include <map>
  3. #include <string>
  4. #include <vector>
  5. using namespace std;
  6.  
  7. int main() {
  8. std::string dna("ACTGCGACGGTACGCTTCGACGTAG");
  9. std::map< std::string, std::vector<int> > msvi;
  10. auto len = dna.size();
  11. for(auto i = 0; i + 3 <= len; ++i) {
  12. for(auto j = 3; i + j < len; ++j) {
  13. msvi[ dna.substr(i, j) ].push_back(i);
  14. }
  15. }
  16.  
  17. for(auto &it : msvi) {
  18. cout << it.first << ':';
  19. for(auto &n : it.second) cout << n << ' ';
  20. cout << endl;
  21. }
  22. return 0;
  23. }
Success #stdin #stdout 0s 3276KB
stdin
Standard input is empty
stdout
ACG:6 11 19 
ACGC:11 
ACGCT:11 
ACGCTT:11 
ACGCTTC:11 
ACGCTTCG:11 
ACGCTTCGA:11 
ACGCTTCGAC:11 
ACGCTTCGACG:11 
ACGCTTCGACGT:11 
ACGCTTCGACGTA:11 
ACGG:6 
ACGGT:6 
ACGGTA:6 
ACGGTAC:6 
ACGGTACG:6 
ACGGTACGC:6 
ACGGTACGCT:6 
ACGGTACGCTT:6 
ACGGTACGCTTC:6 
ACGGTACGCTTCG:6 
ACGGTACGCTTCGA:6 
ACGGTACGCTTCGAC:6 
ACGGTACGCTTCGACG:6 
ACGGTACGCTTCGACGT:6 
ACGGTACGCTTCGACGTA:6 
ACGT:19 
ACGTA:19 
ACT:0 
ACTG:0 
ACTGC:0 
ACTGCG:0 
ACTGCGA:0 
ACTGCGAC:0 
ACTGCGACG:0 
ACTGCGACGG:0 
ACTGCGACGGT:0 
ACTGCGACGGTA:0 
ACTGCGACGGTAC:0 
ACTGCGACGGTACG:0 
ACTGCGACGGTACGC:0 
ACTGCGACGGTACGCT:0 
ACTGCGACGGTACGCTT:0 
ACTGCGACGGTACGCTTC:0 
ACTGCGACGGTACGCTTCG:0 
ACTGCGACGGTACGCTTCGA:0 
ACTGCGACGGTACGCTTCGAC:0 
ACTGCGACGGTACGCTTCGACG:0 
ACTGCGACGGTACGCTTCGACGT:0 
ACTGCGACGGTACGCTTCGACGTA:0 
CGA:4 17 
CGAC:4 17 
CGACG:4 17 
CGACGG:4 
CGACGGT:4 
CGACGGTA:4 
CGACGGTAC:4 
CGACGGTACG:4 
CGACGGTACGC:4 
CGACGGTACGCT:4 
CGACGGTACGCTT:4 
CGACGGTACGCTTC:4 
CGACGGTACGCTTCG:4 
CGACGGTACGCTTCGA:4 
CGACGGTACGCTTCGAC:4 
CGACGGTACGCTTCGACG:4 
CGACGGTACGCTTCGACGT:4 
CGACGGTACGCTTCGACGTA:4 
CGACGT:17 
CGACGTA:17 
CGC:12 
CGCT:12 
CGCTT:12 
CGCTTC:12 
CGCTTCG:12 
CGCTTCGA:12 
CGCTTCGAC:12 
CGCTTCGACG:12 
CGCTTCGACGT:12 
CGCTTCGACGTA:12 
CGG:7 
CGGT:7 
CGGTA:7 
CGGTAC:7 
CGGTACG:7 
CGGTACGC:7 
CGGTACGCT:7 
CGGTACGCTT:7 
CGGTACGCTTC:7 
CGGTACGCTTCG:7 
CGGTACGCTTCGA:7 
CGGTACGCTTCGAC:7 
CGGTACGCTTCGACG:7 
CGGTACGCTTCGACGT:7 
CGGTACGCTTCGACGTA:7 
CGT:20 
CGTA:20 
CTG:1 
CTGC:1 
CTGCG:1 
CTGCGA:1 
CTGCGAC:1 
CTGCGACG:1 
CTGCGACGG:1 
CTGCGACGGT:1 
CTGCGACGGTA:1 
CTGCGACGGTAC:1 
CTGCGACGGTACG:1 
CTGCGACGGTACGC:1 
CTGCGACGGTACGCT:1 
CTGCGACGGTACGCTT:1 
CTGCGACGGTACGCTTC:1 
CTGCGACGGTACGCTTCG:1 
CTGCGACGGTACGCTTCGA:1 
CTGCGACGGTACGCTTCGAC:1 
CTGCGACGGTACGCTTCGACG:1 
CTGCGACGGTACGCTTCGACGT:1 
CTGCGACGGTACGCTTCGACGTA:1 
CTT:14 
CTTC:14 
CTTCG:14 
CTTCGA:14 
CTTCGAC:14 
CTTCGACG:14 
CTTCGACGT:14 
CTTCGACGTA:14 
GAC:5 18 
GACG:5 18 
GACGG:5 
GACGGT:5 
GACGGTA:5 
GACGGTAC:5 
GACGGTACG:5 
GACGGTACGC:5 
GACGGTACGCT:5 
GACGGTACGCTT:5 
GACGGTACGCTTC:5 
GACGGTACGCTTCG:5 
GACGGTACGCTTCGA:5 
GACGGTACGCTTCGAC:5 
GACGGTACGCTTCGACG:5 
GACGGTACGCTTCGACGT:5 
GACGGTACGCTTCGACGTA:5 
GACGT:18 
GACGTA:18 
GCG:3 
GCGA:3 
GCGAC:3 
GCGACG:3 
GCGACGG:3 
GCGACGGT:3 
GCGACGGTA:3 
GCGACGGTAC:3 
GCGACGGTACG:3 
GCGACGGTACGC:3 
GCGACGGTACGCT:3 
GCGACGGTACGCTT:3 
GCGACGGTACGCTTC:3 
GCGACGGTACGCTTCG:3 
GCGACGGTACGCTTCGA:3 
GCGACGGTACGCTTCGAC:3 
GCGACGGTACGCTTCGACG:3 
GCGACGGTACGCTTCGACGT:3 
GCGACGGTACGCTTCGACGTA:3 
GCT:13 
GCTT:13 
GCTTC:13 
GCTTCG:13 
GCTTCGA:13 
GCTTCGAC:13 
GCTTCGACG:13 
GCTTCGACGT:13 
GCTTCGACGTA:13 
GGT:8 
GGTA:8 
GGTAC:8 
GGTACG:8 
GGTACGC:8 
GGTACGCT:8 
GGTACGCTT:8 
GGTACGCTTC:8 
GGTACGCTTCG:8 
GGTACGCTTCGA:8 
GGTACGCTTCGAC:8 
GGTACGCTTCGACG:8 
GGTACGCTTCGACGT:8 
GGTACGCTTCGACGTA:8 
GTA:9 21 
GTAC:9 
GTACG:9 
GTACGC:9 
GTACGCT:9 
GTACGCTT:9 
GTACGCTTC:9 
GTACGCTTCG:9 
GTACGCTTCGA:9 
GTACGCTTCGAC:9 
GTACGCTTCGACG:9 
GTACGCTTCGACGT:9 
GTACGCTTCGACGTA:9 
TAC:10 
TACG:10 
TACGC:10 
TACGCT:10 
TACGCTT:10 
TACGCTTC:10 
TACGCTTCG:10 
TACGCTTCGA:10 
TACGCTTCGAC:10 
TACGCTTCGACG:10 
TACGCTTCGACGT:10 
TACGCTTCGACGTA:10 
TCG:16 
TCGA:16 
TCGAC:16 
TCGACG:16 
TCGACGT:16 
TCGACGTA:16 
TGC:2 
TGCG:2 
TGCGA:2 
TGCGAC:2 
TGCGACG:2 
TGCGACGG:2 
TGCGACGGT:2 
TGCGACGGTA:2 
TGCGACGGTAC:2 
TGCGACGGTACG:2 
TGCGACGGTACGC:2 
TGCGACGGTACGCT:2 
TGCGACGGTACGCTT:2 
TGCGACGGTACGCTTC:2 
TGCGACGGTACGCTTCG:2 
TGCGACGGTACGCTTCGA:2 
TGCGACGGTACGCTTCGAC:2 
TGCGACGGTACGCTTCGACG:2 
TGCGACGGTACGCTTCGACGT:2 
TGCGACGGTACGCTTCGACGTA:2 
TTC:15 
TTCG:15 
TTCGA:15 
TTCGAC:15 
TTCGACG:15 
TTCGACGT:15 
TTCGACGTA:15