Submission #2168973


Source Code Expand

#include <cstdio>

using namespace std;

#define REP(i,n)   for(int i=0; i<(int)(n); i++)
#define FOR(i,b,e) for(int i=(b); i<=(int)(e); i++)
#define DUMP2D(a, n, m) REP(u, n) REP(v, m) printf("%d%c", a[u][v], v + 1 == m ? '\n' : ' '); puts("")

const int N_MAX = 300;
const int K_MAX = 300;
const int MOD = 1e9+7;

int N, K;
char S[N_MAX + 1];

int dp[N_MAX + 1][K_MAX + 1][K_MAX + 1];

void solve() {
  dp[0][0][0] = 1;
  // DUMP2D(dp[0], K, K);
  REP(i, N) {
    FOR(d, 0, K) {
      FOR(x, 0, d) {
        if (S[i] == '0' || S[i] == '?') {
          int d2 = d, x2 = x;
          if (x == 0) { d2++; } else { x2--; }
          if (d2 <= K) {
            dp[i + 1][d2][x2] = (dp[i + 1][d2][x2] + dp[i][d][x]) % MOD;
          }
        }
        if (S[i] == '1' || S[i] == '?') {
          int d2 = d, x2 = x + 1;
          if (x == d) { d2++; }
          if (d2 <= K) {
            dp[i + 1][d2][x2] = (dp[i + 1][d2][x2] + dp[i][d][x]) % MOD;
          }
        }
      }
    }
    // printf("S[%d] = %c\n", i, S[i]);
    // DUMP2D(dp[i + 1], K + 1, K + 1);
  }
  int ans = 0;
  REP(i, K + 1) REP(j, K + 1) ans = (ans + dp[N][i][j]) % MOD;
  printf("%d\n", ans);
}

void input() {
  scanf("%d%d", &N, &K);
  scanf("%s", S);
}

int main() {
  input();
  solve();
  return 0;
}

Submission Info

Submission Time
Task C - 偶然ジェネレータ
User nejiko96
Language C++14 (GCC 5.4.1)
Score 100
Code Size 1281 Byte
Status AC
Exec Time 99 ms
Memory 106368 KB

Compile Error

./Main.cpp: In function ‘void input()’:
./Main.cpp:49:24: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
   scanf("%d%d", &N, &K);
                        ^
./Main.cpp:50:17: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
   scanf("%s", S);
                 ^

Judge Result

Set Name Sample Subtask1 Subtask2 Subtask3
Score / Max Score 0 / 0 10 / 10 30 / 30 60 / 60
Status
AC × 4
AC × 14
AC × 14
AC × 34
Set Name Test Cases
Sample subtask0-sample-01.txt, subtask0-sample-02.txt, subtask0-sample-03.txt, subtask0-sample-04.txt
Subtask1 subtask0-sample-01.txt, subtask0-sample-02.txt, subtask0-sample-03.txt, subtask0-sample-04.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
Subtask2 subtask0-sample-01.txt, subtask0-sample-02.txt, subtask0-sample-03.txt, subtask0-sample-04.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
Subtask3 subtask0-sample-01.txt, subtask0-sample-02.txt, subtask0-sample-03.txt, subtask0-sample-04.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, 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, subtask3-01.txt, subtask3-02.txt, subtask3-03.txt, subtask3-04.txt, subtask3-05.txt, subtask3-06.txt, subtask3-07.txt, subtask3-08.txt, subtask3-09.txt, subtask3-10.txt
Case Name Status Exec Time Memory
subtask0-sample-01.txt AC 1 ms 2304 KB
subtask0-sample-02.txt AC 1 ms 2304 KB
subtask0-sample-03.txt AC 1 ms 2176 KB
subtask0-sample-04.txt AC 1 ms 4352 KB
subtask1-01.txt AC 1 ms 128 KB
subtask1-02.txt AC 1 ms 128 KB
subtask1-03.txt AC 1 ms 2304 KB
subtask1-04.txt AC 1 ms 4352 KB
subtask1-05.txt AC 1 ms 4352 KB
subtask1-06.txt AC 1 ms 4352 KB
subtask1-07.txt AC 1 ms 4352 KB
subtask1-08.txt AC 1 ms 4352 KB
subtask1-09.txt AC 1 ms 4352 KB
subtask1-10.txt AC 1 ms 4352 KB
subtask2-01.txt AC 9 ms 41088 KB
subtask2-02.txt AC 13 ms 63744 KB
subtask2-03.txt AC 21 ms 104704 KB
subtask2-04.txt AC 21 ms 104704 KB
subtask2-05.txt AC 21 ms 104704 KB
subtask2-06.txt AC 21 ms 104704 KB
subtask2-07.txt AC 21 ms 104704 KB
subtask2-08.txt AC 21 ms 104704 KB
subtask2-09.txt AC 21 ms 104704 KB
subtask2-10.txt AC 21 ms 104704 KB
subtask3-01.txt AC 18 ms 88320 KB
subtask3-02.txt AC 22 ms 104832 KB
subtask3-03.txt AC 21 ms 104704 KB
subtask3-04.txt AC 21 ms 104704 KB
subtask3-05.txt AC 22 ms 104832 KB
subtask3-06.txt AC 22 ms 104832 KB
subtask3-07.txt AC 99 ms 106368 KB
subtask3-08.txt AC 21 ms 104704 KB
subtask3-09.txt AC 21 ms 104704 KB
subtask3-10.txt AC 21 ms 104704 KB