fork download
  1.  
  2. #include <bits/stdc++.h>
  3. using namespace std;
  4.  
  5. int main() {
  6. int huruf, jumlah;
  7. char tag, ketag;
  8. bool ada = false;
  9. string jawab;
  10. cin >> huruf;
  11.  
  12. vector<vector<char>> data(3,vector<char>(huruf));
  13. for (int a = 0; a < 3; a++) {
  14. for (int b = 0; b < huruf; b++) {
  15. cin >> data[a][b];
  16. }
  17. }
  18.  
  19. vector<char> sudah;
  20. for (int a = 0; a < huruf; a++) {
  21. tag = data[1][a];
  22. ketag = data[0][a];
  23. if (find(sudah.begin(), sudah.end(), tag) != sudah.end()) continue;
  24. sudah.push_back(tag);
  25.  
  26. for (int b = a; b < huruf; b++) {
  27. if (data[1][b] == tag && data[0][b] != ketag) {
  28. cout << "Pak Dengklek bingung";
  29. return 0;
  30. }
  31. }
  32.  
  33. }
  34.  
  35. vector<char> sudahh;
  36. for (int a = 0; a < huruf; a++) {
  37. tag = data[0][a];
  38. ketag = data[1][a];
  39. if (find(sudahh.begin(), sudahh.end(), tag) != sudahh.end()) continue;
  40. sudahh.push_back(tag);
  41.  
  42. for (int b = a; b < huruf; b++) {
  43. if (data[0][b] == tag && data[1][b] != ketag) {
  44. cout << "Pak Dengklek bingung";
  45. return 0;
  46. }
  47. }
  48.  
  49. }
  50.  
  51. for (int a = 0; a < huruf; a++) {
  52. for (int b = 0; b < huruf; b++) {
  53. if (data[2][a] == data[1][b]) {
  54. jawab += data[0][b];
  55. ada = true;
  56. break;
  57. }
  58. }
  59. if (!ada) jawab += "?";
  60. ada = false;
  61. }
  62. cout << jawab;
  63. }
  64.  
  65.  
  66.  
Success #stdin #stdout 0.01s 5308KB
stdin
10
halalalala
halalalala
rrrrrrlala
stdout
??????lala