3 solutions

  • 0
    @ 2024-2-20 13:21:28

    打表并合理运用下标

    #include <bits/stdc++.h>
    using namespace std;
    
    #define DBG(x) cout << #x << "=" << x << endl
    
    char g[10][5][5] = {
      {  // 0
        "***",
        "* *",
        "* *",
        "* *",
        "***",
      },
      {  // 1
        " * ",
        " * ",
        " * ",
        " * ",
        " * ",
      },
      {  // 2
        "***",
        "  *",
        "***",
        "*  ",
        "***",
      },
      {  // 3
        "***",
        "  *",
        "***",
        "  *",
        "***",
      },
      {  // 4
        "* *",
        "* *",
        "***",
        "  *",
        "  *",
      },
      {  // 5
        "***",
        "*  ",
        "***",
        "  *",
        "***",
      },
      {  // 6
        "***",
        "*  ",
        "***",
        "* *",
        "***",
      },
      {  // 7
        "***",
        "  *",
        "  *",
        "  *",
        "  *",
      },
      {  // 8
        "***",
        "* *",
        "***",
        "* *",
        "***",
      },
      {  // 9
        "***",
        "* *",
        "***",
        "  *",
        "***",
      }
    };
    
    int nums[3] = {0, 0, 0};
    
    void solve() {
      int a, b;
    
      cin >> a >> b;
      int n = a + b;
      int t = 2;
      while (n) {
        nums[t--] = n % 10;
        n /= 10;
      }
    
      for (int r = 0; r < 5; r++) {
        for (int i = 0; i <= 2; i++) {
          if (i == 0 && nums[0] == 0) continue;
          if (i == 1 && nums[0] == 0 && nums[1] == 0) continue;
          int num = nums[i];
          cout << g[num][r] << (i == 2 ? "" : " ");
        }
        cout << endl;
      }
    }
    
    int main() {
      solve();
    
      return 0;
    }
    

    Information

    ID
    29
    Time
    1000ms
    Memory
    256MiB
    Difficulty
    3
    Tags
    # Submissions
    176
    Accepted
    89
    Uploaded By