Submission #1251246

#TimeUsernameProblemLanguageResultExecution timeMemory
1251246FernandoJC07Mutating DNA (IOI21_dna)C++20
Compilation error
0 ms0 KiB
#include <bits/stdc++.h> #define vi vector<int> #define For(i, a, n) for(int i = a; i<n; ++i) using namespace std; unordered_map<char, int> ump; vii ps; int cod(int a, int b){ return a+3*b;} pair<int, int> dec(int a){ return {a%3, a/3};} int idec(int a) {return cod(dec(a).ss, dec(a).ff);} void init(string a, string b){ int n = a.size(); ump['A'] = 0; ump['C'] = 1; ump['T'] = 2; ps.resize(n+1, vi(9, 0)); For(i, 0, n){ ps[i+1] = ps[i]; ps[i+1][cod(ump[a[i]], ump[b[i]])]++; } } int get_distance(int x, int y){ ++x; ++y; vi v(9); For(i, 0, 9) v[i] = ps[y][i] - ps[x-1][i]; vi a(3, 0), b(3, 0); For(i, 0, 9){ auto s = dec(i); a[s.ff] += v[i]; b[s.ss] += v[i]; } if(a != b) return -1; int n = y-x+1; int t = n - v[0] - v[4] - v[8]; int p = 0; For(i, 0, 9) p += min(v[i], v[idec(i)]); int ans = (4*t - p)/6; return ans; }

Compilation message (stderr)

dna.cpp:7:1: error: 'vii' does not name a type; did you mean 'vi'?
    7 | vii ps;
      | ^~~
      | vi
dna.cpp: In function 'int idec(int)':
dna.cpp:11:36: error: 'struct std::pair<int, int>' has no member named 'ss'
   11 | int idec(int a) {return cod(dec(a).ss, dec(a).ff);}
      |                                    ^~
dna.cpp:11:47: error: 'struct std::pair<int, int>' has no member named 'ff'
   11 | int idec(int a) {return cod(dec(a).ss, dec(a).ff);}
      |                                               ^~
dna.cpp: In function 'void init(std::string, std::string)':
dna.cpp:16:5: error: 'ps' was not declared in this scope
   16 |     ps.resize(n+1, vi(9, 0));
      |     ^~
dna.cpp: In function 'int get_distance(int, int)':
dna.cpp:26:25: error: 'ps' was not declared in this scope
   26 |     For(i, 0, 9) v[i] = ps[y][i] - ps[x-1][i];
      |                         ^~
dna.cpp:30:13: error: 'struct std::pair<int, int>' has no member named 'ff'
   30 |         a[s.ff] += v[i]; b[s.ss] += v[i];
      |             ^~
dna.cpp:30:30: error: 'struct std::pair<int, int>' has no member named 'ss'
   30 |         a[s.ff] += v[i]; b[s.ss] += v[i];
      |                              ^~