QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#183906#5660. Simplified Genome Translationtriplem5ds#AC ✓1ms3548kbC++232.5kb2023-09-19 23:56:412023-09-19 23:56:41

Judging History

你现在查看的是最新测评结果

  • [2023-09-19 23:56:41]
  • 评测
  • 测评结果:AC
  • 用时:1ms
  • 内存:3548kb
  • [2023-09-19 23:56:41]
  • 提交

answer

/// Msaa el 5ra
#pragma GCC optimize("O3")
#pragma GCC optimize ("unroll-loops")
#pragma GCC target("avx,avx2,fma")

#include "bits/stdc++.h"

using namespace std;

#define pb push_back
#define F first
#define S second
#define f(i, a, b)  for(int i = a; i < b; i++)
#define all(a)  a.begin(),a.end()
#define rall(a) a.rbegin(),a.rend()
#define sz(x) (int)(x).size()
#define mp(x, y) make_pair(x,y)
#define popCnt(x) (__builtin_popcountll(x))
#define int ll

using ll = long long;
using ii = pair<int, int>;
using ull = unsigned long long;

const int N = 5e5 + 5, LG = 18, MOD = 1e9 + 7;
const long double PI = acos(-1);
const long double EPS = 1e-7;
map<string, char> mp;

void init() {
    mp["UUU"] = 'F';
    mp["UUC"] = 'F';

    mp["UUA"] = 'L';
    mp["UUG"] = 'L';
    mp["CUU"] = 'L';
    mp["CUC"] = 'L';
    mp["CUA"] = 'L';
    mp["CUG"] = 'L';

    mp["AUU"] = 'I';
    mp["AUC"] = 'I';
    mp["AUA"] = 'I';

    mp["AUG"] = 'M';

    mp["GUU"] = 'V';
    mp["GUC"] = 'V';
    mp["GUA"] = 'V';
    mp["GUG"] = 'V';

    mp["UCU"] = 'S';
    mp["UCC"] = 'S';
    mp["UCA"] = 'S';
    mp["UCG"] = 'S';
    mp["AGU"] = 'S';
    mp["AGC"] = 'S';

    mp["CCU"] = 'P';
    mp["CCC"] = 'P';
    mp["CCA"] = 'P';
    mp["CCG"] = 'P';

    mp["ACU"] = 'T';
    mp["ACC"] = 'T';
    mp["ACA"] = 'T';
    mp["ACG"] = 'T';

    mp["GCU"] = 'A';
    mp["GCC"] = 'A';
    mp["GCA"] = 'A';
    mp["GCG"] = 'A';

    mp["UAU"] = 'Y';
    mp["UAC"] = 'Y';

    mp["CAU"] = 'H';
    mp["CAC"] = 'H';

    mp["CAA"] = 'Q';
    mp["CAG"] = 'Q';

    mp["AAU"] = 'N';
    mp["AAC"] = 'N';

    mp["AAA"] = 'K';
    mp["AAG"] = 'K';

    mp["GAU"] = 'D';
    mp["GAC"] = 'D';

    mp["GAA"] = 'E';
    mp["GAG"] = 'E';

    mp["UGU"] = 'C';
    mp["UGC"] = 'C';

    mp["UGG"] = 'W';

    mp["CGU"] = 'R';
    mp["CGC"] = 'R';
    mp["CGA"] = 'R';
    mp["CGG"] = 'R';
    mp["AGA"] = 'R';
    mp["AGG"] = 'R';

    mp["GGU"] = 'G';
    mp["GGC"] = 'G';
    mp["GGA"] = 'G';
    mp["GGG"] = 'G';

    mp["UAA"];
    mp["UAG"];
    mp["UGA"];


}

void doWork() {
    string s;
    cin >> s;
    for (int i = 0; s.size(); i += 3) {
        string cur = s.substr(i, 3);
        if (!mp[cur])break;
        cout << mp[cur];
    }
    cout << '\n';
}

int32_t main() {
#ifdef ONLINE_JUDGE
    ios_base::sync_with_stdio(0);
    cin.tie(0);
#endif // ONLINE_JUDGE
    init();
    int t = 1;
    cin >> t;
    while (t--) {
        doWork();
    }
}

Details

Tip: Click on the bar to expand more detailed information

Test #1:

score: 100
Accepted
time: 1ms
memory: 3516kb

input:

5
UUUUAACACUUUAUCACUUAACACCAC
CAAAAUAUGAAAAAU
AUGUACUUUGCGUUUCACUAA
UUGCACUACUAC
UACGUGGGUAUC

output:

F
QNMKN
MYFAFH
LHYY
YVGI

result:

ok 5 lines

Test #2:

score: 0
Accepted
time: 1ms
memory: 3544kb

input:

50
GGUCAGAGGGAGGGCCUAUUGAUACGUAGUGGACUAUCAUGUUCGUGAGCAGCAUGCAGAUUACCCGUUCGGCGAGGGAGAGCCCGCUCCGAAAUGUUUAGGGAGAUAGCGGGCCACAUAGUCGCUUGAGUGCAUACUGCGUACUUUAUGUACAAGUCCCGU
AAUGGAUCACUCCUCUAUCAUUUCACUAGGUGUGACACAUGAUAUACUAACGUUCUGAAUUGGCAGUGGGGUAUGAGGCACUGAUUGGUCAUGGGACAGACUUGAGAGGAGUUGUCCUUGCUAAGCCCCGUCCC...

output:

GQREGLLIRSGLSCS
NGSLLYHFTRCDT
DASYKADEGLMFVLKDTGDYGSDYWQK
SRKVLVDRISEPLVVAYLEGTDVDGANIGSKFDGANSSAWT
FACST
LTNARTSFYALRFKDACKYTCKSLFELFSNRGQFS
II
VLLRAARISCTFIHCRCSRRGFGPLSPCPPRPLAGVGSMIYNSCYIY
TRKLSFS
ESDQC
QNGIPKKAC
PHTRRTLPPSV
GI
ATSNVCTSFHGAGASGRNVCIRGRDRPL
AF
NPFQVSRSLQPRS
IHPGYLRTGGGFRSILSVTRDG...

result:

ok 50 lines

Test #3:

score: 0
Accepted
time: 1ms
memory: 3548kb

input:

50
GGUCAGAGGGAGGGCCUAUUGAUACGUAGUGGACUAUCAUGUUCGUGAGCAGCAUGCAGAUUACCCGUUCGGCGAGGGAGAGCCCGCUCCGAAAUGUUUAGGGAGAUAGCGGGCCACAUAGUCGCUUGAGUGCAUACUGCGUACUUUAUGUACAAGUCCCGU
AAUGGAUCACUCCUCUAUCAUUUCACUAGGUGUGACACAUGAUAUACUAACGUUCUGAAUUGGCAGUGGGGUAUGAGGCACUGAUUGGUCAUGGGACAGACUUGAGAGGAGUUGUCCUUGCUAAGCCCCGUCCC...

output:

GQREGLLIRSGLSCS
NGSLLYHFTRCDT
DASYKADEGLMFVLKDTGDYGSDYWQK
SRKVLVDRISEPLVVAYLEGTDVDGANIGSKFDGANSSAWT
FACST
LTNARTSFYALRFKDACKYTCKSLFELFSNRGQFS
II
VLLRAARISCTFIHCRCSRRGFGPLSPCPPRPLAGVGSMIYNSCYIY
TRKLSFS
ESDQC
QNGIPKKAC
PHTRRTLPPSV
GI
ATSNVCTSFHGAGASGRNVCIRGRDRPL
AF
NPFQVSRSLQPRS
IHPGYLRTGGGFRSILSVTRDG...

result:

ok 50 lines