Submission #1770605


Source Code Expand

#include <algorithm>
#include <bitset>
#include <cmath>
#include <cstdlib>
#include <iomanip>
#include <iostream>
#include <map>
#include <set>
#include <string>
#include <utility>
#include <vector>

#define stirng string
#define vvi vector<vector<int>>
#define vi vector<int>
#define rep(i, n) for (int i = 0; i < (n); i++)
using namespace std;

const int INF = 1e9 + 7;

int main() {
  long long int p;
  string b;
  cin >> p >> b;
  p--;
  stirng a = to_string(p);
  int n, m;
  n = b.size();
  m = a.size();
  int dp[n + 1][2][2] = {0};
  int DP[m + 1][2][2] = {0};
  dp[0][0][0] = 1;
  DP[0][0][0] = 1;

  for (int i = 0; i < n; i++) {
    for (int j = 0; j < 2; j++) {
      for (int k = 0; k < 2; k++) {
        int lim = j ? 9 : b[i] - '0';
        rep(d, lim + 1) {
          if (j == 1 || d < lim) {
            if (k == 1 || d == 4 || d == 9) {
              dp[i + 1][1][1] += dp[i][j][k];
            } else {
              dp[i + 1][1][0] += dp[i][j][k];
            }
          } else {
            if (k == 1 || d == 4 || d == 9) {
              dp[i + 1][0][1] += dp[i][j][k];
            } else {
              dp[i + 1][0][0] += dp[i][j][k];
            }
          }
        }
      }
    }
  }

  for (int i = 0; i < m; i++) {
    for (int j = 0; j < 2; j++) {
      for (int k = 0; k < 2; k++) {
        int lim = j ? 9 : a[i] - '0';
        rep(d, lim + 1) {
          if (j == 1 || d < lim) {
            if (k == 1 || d == 4 || d == 9) {
              DP[i + 1][1][1] += DP[i][j][k];
            } else {
              DP[i + 1][1][0] += DP[i][j][k];
            }
          } else {
            if (k == 1 || d == 4 || d == 9) {
              DP[i + 1][0][1] += DP[i][j][k];
            } else {
              DP[i + 1][0][0] += DP[i][j][k];
            }
          }
        }
      }
    }
  }

  cout << dp[n][0][1] + dp[n][1][1] - (DP[m][0][1] + DP[m][1][1]) << endl;

  return 0;
}

Submission Info

Submission Time
Task D - 禁止された数字
User kuma13
Language C++14 (GCC 5.4.1)
Score 30
Code Size 1997 Byte
Status WA
Exec Time 3 ms
Memory 256 KB

Judge Result

Set Name Sample Subtask1 Subtask2
Score / Max Score 0 / 0 30 / 30 0 / 70
Status
AC × 3
WA × 1
AC × 16
AC × 16
WA × 23
Set Name Test Cases
Sample subtask0_sample01.txt, subtask0_sample02.txt, subtask0_sample03.txt, subtask0_sample04.txt
Subtask1 subtask1_01.txt, subtask1_02.txt, subtask1_03.txt, subtask1_04.txt, subtask1_05.txt, subtask1_06.txt, subtask1_07.txt, subtask1_08.txt, subtask1_09.txt, subtask1_10.txt, subtask1_11.txt, subtask1_12.txt, subtask1_13.txt, subtask0_sample01.txt, subtask0_sample02.txt, subtask0_sample03.txt
Subtask2 subtask0_sample01.txt, subtask0_sample02.txt, subtask0_sample03.txt, subtask0_sample04.txt, subtask1_01.txt, subtask1_02.txt, subtask1_03.txt, subtask1_04.txt, subtask1_05.txt, subtask1_06.txt, subtask1_07.txt, subtask1_08.txt, subtask1_09.txt, subtask1_10.txt, subtask1_11.txt, subtask1_12.txt, subtask1_13.txt, subtask2_01.txt, subtask2_02.txt, subtask2_03.txt, subtask2_04.txt, subtask2_05.txt, subtask2_06.txt, subtask2_07.txt, subtask2_08.txt, subtask2_09.txt, subtask2_10.txt, subtask2_11.txt, subtask2_12.txt, subtask2_13.txt, subtask2_14.txt, subtask2_15.txt, subtask2_16.txt, subtask2_17.txt, subtask2_18.txt, subtask2_19.txt, subtask2_20.txt, subtask2_21.txt, subtask2_22.txt
Case Name Status Exec Time Memory
subtask0_sample01.txt AC 1 ms 256 KB
subtask0_sample02.txt AC 1 ms 256 KB
subtask0_sample03.txt AC 1 ms 256 KB
subtask0_sample04.txt WA 1 ms 256 KB
subtask1_01.txt AC 1 ms 256 KB
subtask1_02.txt AC 1 ms 256 KB
subtask1_03.txt AC 1 ms 256 KB
subtask1_04.txt AC 1 ms 256 KB
subtask1_05.txt AC 1 ms 256 KB
subtask1_06.txt AC 1 ms 256 KB
subtask1_07.txt AC 1 ms 256 KB
subtask1_08.txt AC 1 ms 256 KB
subtask1_09.txt AC 1 ms 256 KB
subtask1_10.txt AC 1 ms 256 KB
subtask1_11.txt AC 1 ms 256 KB
subtask1_12.txt AC 1 ms 256 KB
subtask1_13.txt AC 1 ms 256 KB
subtask2_01.txt WA 1 ms 256 KB
subtask2_02.txt WA 1 ms 256 KB
subtask2_03.txt WA 1 ms 256 KB
subtask2_04.txt WA 1 ms 256 KB
subtask2_05.txt WA 1 ms 256 KB
subtask2_06.txt WA 1 ms 256 KB
subtask2_07.txt WA 1 ms 256 KB
subtask2_08.txt WA 1 ms 256 KB
subtask2_09.txt WA 1 ms 256 KB
subtask2_10.txt WA 1 ms 256 KB
subtask2_11.txt WA 1 ms 256 KB
subtask2_12.txt WA 1 ms 256 KB
subtask2_13.txt WA 1 ms 256 KB
subtask2_14.txt WA 3 ms 256 KB
subtask2_15.txt WA 1 ms 256 KB
subtask2_16.txt WA 1 ms 256 KB
subtask2_17.txt WA 1 ms 256 KB
subtask2_18.txt WA 1 ms 256 KB
subtask2_19.txt WA 1 ms 256 KB
subtask2_20.txt WA 1 ms 256 KB
subtask2_21.txt WA 1 ms 256 KB
subtask2_22.txt WA 1 ms 256 KB