回答編集履歴

2

追記

2020/02/22 09:12

投稿

asm
asm

スコア15149

test CHANGED
@@ -5,3 +5,101 @@
5
5
  追記:
6
6
 
7
7
  `k`が空のまま使われています。
8
+
9
+
10
+
11
+ さらに追記:
12
+
13
+ > s.push_back(stemp);
14
+
15
+
16
+
17
+ これはおそらく意図通りには動いていないでしょう。
18
+
19
+ とりあえず応急処置するなら`s[i] = stemp;`ですかね
20
+
21
+
22
+
23
+
24
+
25
+ 入力例のみを確かめただけですが
26
+
27
+
28
+
29
+ ```c++
30
+
31
+ int main(){
32
+
33
+ int N, M;
34
+
35
+ cin >> N >> M;
36
+
37
+ VVI s(M);
38
+
39
+ REP(i,M){
40
+
41
+ int ktemp;
42
+
43
+ cin >> ktemp;
44
+
45
+ VI stemp(ktemp);
46
+
47
+ REP(j,ktemp){
48
+
49
+ cin >> stemp[j];
50
+
51
+ stemp[j]--;
52
+
53
+ }
54
+
55
+ s[i] = stemp;
56
+
57
+ }
58
+
59
+ VI p(M);
60
+
61
+ REP(i,M){
62
+
63
+ cin >> p[i];
64
+
65
+ }
66
+
67
+ int cnt = 0;
68
+
69
+ bool chk;
70
+
71
+ REP(bit, (1<<N)){
72
+
73
+ chk = true;
74
+
75
+ REP(i, M){
76
+
77
+ int temp = 0;
78
+
79
+ int sz = size(s[i]);
80
+
81
+ REP(j, sz){
82
+
83
+ if ((bit>>s[i][j]) & 1) temp++;
84
+
85
+ }
86
+
87
+ if (temp % 2 != p[i]){
88
+
89
+ chk = false;
90
+
91
+ break;
92
+
93
+ }
94
+
95
+ }
96
+
97
+ if (chk) cnt++;
98
+
99
+ }
100
+
101
+ cout << cnt << endl;
102
+
103
+ }
104
+
105
+ ```

1

追記

2020/02/22 09:12

投稿

asm
asm

スコア15149

test CHANGED
@@ -1 +1,7 @@
1
1
  最初の`REP(i,N){`は`M`の間違いではないでしょうか?
2
+
3
+
4
+
5
+ 追記:
6
+
7
+ `k`が空のまま使われています。