返回列表 發帖
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3. void getAB(const string& answer, const string& guess, int& A, int& B) {
  4.     A = B = 0;
  5.     int countAnswer[10] = {0};
  6.     int countGuess[10] = {0};
  7.     for (int i = 0; i < 4; ++i) {
  8.         if (guess[i] == answer[i]) {
  9.             ++A;
  10.         } else {
  11.             ++countAnswer[answer[i] - '0'];
  12.             ++countGuess[guess[i] - '0'];
  13.         }
  14.     }
  15.     for (int i = 0; i < 10; ++i) {
  16.         B += min(countAnswer[i], countGuess[i]);
  17.     }
  18. }
  19. int main()
  20. {
  21.     string answer;
  22.     cin >> answer;
  23.     if (answer.length() != 4) {
  24.         return 1;
  25.     }

  26.     for (int i = 1; i <= 3; ++i) {
  27.         string guess;
  28.         cin >> guess;
  29.         if (guess.length() != 4) {
  30.             continue;
  31.         }

  32.         int A = 0, B = 0;
  33.         getAB(answer, guess, A, B);
  34.         cout << A << "A" << B << "B" << endl;
  35.     }
  36.     return 0;
  37. }
複製代碼

TOP

返回列表