Advertisement
Spocoman

01. The Imitation Game

Nov 13th, 2023 (edited)
534
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.42 KB | None | 0 0
  1. #include <iostream>
  2. #include <string>
  3. #include <vector>
  4.  
  5. using namespace std;
  6.  
  7. int main() {
  8.     string message, command;
  9.     getline(cin, message);
  10.  
  11.     while (true) {
  12.         getline(cin, command);
  13.         if (command == "Decode") {
  14.             break;
  15.         }
  16.  
  17.         vector<string> tokens;
  18.         for (int i = 0; i < command.length(); i++) {
  19.             if (command[i] == '|') {
  20.                 string token = command.substr(0, i);
  21.                 tokens.push_back(token);
  22.                 command = command.erase(0, token.length() + 1);
  23.                 i = 0;
  24.             }
  25.         }
  26.         tokens.push_back(command);
  27.  
  28.         command = tokens[0];
  29.  
  30.         if (command == "Move") {
  31.             int index = stoi(tokens[1]);
  32.             string subStr = message.substr(0, index);
  33.             message.erase(0, index);
  34.             message += subStr;
  35.         }
  36.         else if (command == "Insert") {
  37.             int index = stoi(tokens[1]);
  38.             string value = tokens[2];
  39.             message = message.insert(index, value);
  40.         }
  41.         else if (command == "ChangeAll") {
  42.             string oldStr = tokens[1];
  43.             string newStr = tokens[2];
  44.             while (message.find(oldStr) != -1) {
  45.                 message.replace(message.find(oldStr), oldStr.length(), newStr);
  46.             }
  47.         }
  48.     }
  49.  
  50.     cout << "The decrypted message is: " << message << endl;
  51.     return 0;
  52. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement