Submission #1309711

#TimeUsernameProblemLanguageResultExecution timeMemory
1309711quollcucumber`Bliskost (COI23_bliskost)C++20
0 / 100
0 ms332 KiB
#include <bits/stdc++.h>
#define int long long
using namespace std;
bool seen[26][26][26][26][26];
signed main(){
    int n, q;
    assert(n == 5);
    cin >> n >> q;
    string a;
    cin >> a;
    string  b;
    cin >> b;
    queue<string> que;
    que.push(a);
    while(!que.empty()) {
        string s = que.front();
        que.pop();
        if(s == b) {
            cout<<"da\n";
            return 0;
        }
        if(!seen[s[0]-'a'][s[1]-'a'][s[2]-'a'][s[3]-'a'][s[4]-'a']) {
            seen[s[0]-'a'][s[1]-'a'][s[2]-'a'][s[3]-'a'][s[4]-'a'] = true;
            s[0]++;
            s[1]++;
            if(s[0] == 'z' + 1) s[0] = 'a';
            if(s[1] == 'z' + 1) s[1] = 'a';
            que.push(s);
            s[0]--;
            s[2]++;
            if(s[0] == 'a'-1) s[0] = 'z';
            if(s[2] == 'z' + 1) s[2] = 'a';
            que.push(s);
            s[1]--;
            s[3]++;
            if(s[1] == 'a'-1) s[1] = 'z';
            if(s[3] == 'z' + 1) s[3] = 'a';
            que.push(s);
            s[2]--;
            s[4]++;
            if(s[2] == 'a'-1) s[2] = 'z';
            if(s[4] == 'z' + 1) s[4] = 'a';
            que.push(s);
        }
    }
    cout<<"ne\n";
    return 0;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...