方法1:

//
// Created by alleyf on 2023/6/26.
//
#include<bits/stdc++.h>
using namespace std;
int main() {
    string s;
    while (getline(cin, s)) {
        if (s != "ENDOFINPUT") {
            if (s != "START" && s != "END") {
                int i = 0;
                for (char item : s) {
                    if ((item >= 'A' && item <= 'Z'))
                       s[i] = 'A' + (item - 'A' + 21) % 26;
                    i++;
                }
                cout << s << endl;
            }
        } else {
            break;
        }
    }
    return 0;
}

方法2:

//
// Created by alleyf on 2023/6/26.
//
#include<bits/stdc++.h>
using namespace std;
map<char, char> pwd_map{
    {'A', 'V'},
    {'B', 'W'},
    {'C', 'X'},
    {'D', 'Y'},
    {'E', 'Z'},
    {'F', 'A'},
    {'G', 'B'},
    {'H', 'C'},
    {'I', 'D'},
    {'J', 'E'},
    {'K', 'F'},
    {'L', 'G'},
    {'M', 'H'},
    {'N', 'I'},
    {'O', 'J'},
    {'P', 'K'},
    {'Q', 'L'},
    {'R', 'M'},
    {'S', 'N'},
    {'T', 'O'},
    {'U', 'P'},
    {'V', 'Q'},
    {'W', 'R'},
    {'X', 'S'},
    {'Y', 'T'},
    {'Z', 'U'},
};
int main() {
    string s;
    while (getline(cin, s)) {
        if (s != "ENDOFINPUT") {
            if (s != "START" && s != "END") {
                int i = 0;
                for (char item : s) {
                    if ((item >= 'A' && item <= 'Z'))
                       s[i] = pwd_map[item];
                    i++;
                }
                cout << s << endl;
            }
        } else {
            break;
        }
    }
    return 0;
}