QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#283334#7193. Data Structure You've Never Heard OfwxyWA 1ms3748kbC++141015b2023-12-14 14:49:552023-12-14 14:49:55

Judging History

你现在查看的是最新测评结果

  • [2023-12-14 14:49:55]
  • 评测
  • 测评结果:WA
  • 用时:1ms
  • 内存:3748kb
  • [2023-12-14 14:49:55]
  • 提交

answer

#include <bits/stdc++.h>

#define rep(i,l,r) for (int i = l; i <= r; i++)
#define per(i,r,l) for (int i = r; i >= l; i--)
#define fi first
#define se second
#define pb push_back
#define mp std::make_pair
#define gin std::cin
#define prt std::cout
#define edl std::endl

namespace Main {
  const int mod = 1e9 + 7;
  int n,d,a[200005],f[200005],b[1 << 16];
  void add(int &x,int v) {
    x += v; x %= mod;
  }
  void main() {
    scanf("%d%d",&n,&d);
    rep(i,1,n) {
      per(j,d - 1,0) {
        int v;
        scanf("%1d",&v);
        a[i] += (v << j);
      }
    }
    int ans = 0;
    rep(i,1,n) {
      add(f[i],1);
      int high = ((a[i] >> 8) << 8),low = (a[i] & ((1 << 8) - 1));
      rep(j,0,(1 << 8) - 1) {
        if (((j << 8) & high) == j) add(f[i],b[(j << 8) + low]);
      }
      add(ans,f[i]);
      rep(j,0,(1 << 8) - 1) {
        if ((j & low) == low) add(b[high + j],f[i]);
      }
    }
    prt << ans;
  }
} signed main() { Main::main(); return 0; }

Details

Tip: Click on the bar to expand more detailed information

Test #1:

score: 100
Accepted
time: 0ms
memory: 3568kb

input:

3 2
00
00
11

output:

7

result:

ok 1 number(s): "7"

Test #2:

score: 0
Accepted
time: 0ms
memory: 3520kb

input:

4 3
110
100
011
101

output:

5

result:

ok 1 number(s): "5"

Test #3:

score: 0
Accepted
time: 0ms
memory: 3748kb

input:

50 1
0
1
0
1
1
1
1
1
0
0
1
0
0
1
1
0
1
1
0
0
1
1
0
1
0
1
0
0
1
1
1
0
0
0
1
1
0
0
0
1
0
1
1
1
0
1
0
1
0
0

output:

362807295

result:

ok 1 number(s): "362807295"

Test #4:

score: 0
Accepted
time: 1ms
memory: 3528kb

input:

50 1
0
0
1
0
1
0
1
1
1
0
1
1
0
1
1
0
0
0
0
0
0
0
0
1
0
1
0
1
1
1
0
0
1
1
1
1
0
0
1
0
0
1
0
1
0
0
0
1
1
0

output:

120927736

result:

ok 1 number(s): "120927736"

Test #5:

score: 0
Accepted
time: 0ms
memory: 3632kb

input:

50 8
01000111
10010111
01101011
00000000
00011110
10001111
01110110
01000011
00001101
11111011
10110111
11110111
11001011
11110100
11000100
10001100
11010101
01010000
11101100
11110010
01000011
00000110
10111100
11100000
01010001
01010010
01001011
11011111
01111010
01010111
11101111
11010010
0100010...

output:

973

result:

ok 1 number(s): "973"

Test #6:

score: 0
Accepted
time: 0ms
memory: 3628kb

input:

50 8
00000000
00101111
00000000
01010001
10001000
00001000
00000100
01011110
10111111
00101010
00010100
10101111
10000001
01000000
11011111
11111111
11111111
00000100
11111110
10111111
00000000
10111111
11111110
00000000
10000000
11111111
11111111
11111111
11110111
00000010
11111011
11111111
1000000...

output:

585391

result:

ok 1 number(s): "585391"

Test #7:

score: -100
Wrong Answer
time: 1ms
memory: 3732kb

input:

50 15
001010001110101
101100011001001
111110110110111
000100111110000
110100100110010
101000111101000
101011010101100
111001100110111
001111001000001
100000001101010
000100101010011
010111001000000
100101010111001
100010110011110
111001101100111
001100100110101
000111100100100
001010011001010
011101...

output:

50

result:

wrong answer 1st numbers differ - expected: '58', found: '50'