Universal Cup Judging System

Universal Cup

Süre Sınırı: 2 s Bellek Sınırı: 1024 MB Toplam puan: 100 Zorluk: [göster]
İstatistikler

春の息吹を伝える桜並木の小道を、ウナは散歩している。$n$本の桜の木があり、$i$番目の桜の木には$a_i$個の花が咲いている。

ウナは親友のカモメをとても恋しく思っている。カモメがこの町を去った日、ウナに整数列$b_1,\dots,b_n$を渡した。カモメは、「すべての$i\in[1,n]$について$a_i \equiv b_i \pmod 2$が成り立てば、桜の魔法の力が発動し、二人は再会できる」と言った。

ウナの願いはあまりにも強く、想像が現実となった。彼女は花を咲かせる魔法の力を手に入れた。魔法の杖を振るたびに、桜の連続する部分区間$[l,r]$を選び、すべての$i\in[l,r]$について、$a_i$を$\sum_{j=l}^r a_j$に変更することができる。

この魔法の能力により、ウナは1日に何度でも魔法を使うことができるが、同じ木に対しては1日に2度以上魔法を使ってはならない。そうしないと、魔力が集中しすぎて木が枯れてしまう。(すなわち、同じ日に選ぶ部分区間は互いに重なってはならない。)

カモメが去ってから10年が経ち、ウナはもう待ちたくない。ウナは、カモメと再会するために必要な最小の日数(すなわち、すべての$i\in[1,n]$について$a_i \equiv b_i \pmod 2$を満たすこと)を知りたい。もし不可能ならば、その旨を報告しなければならない。(詳細は出力セクションを参照。)

入力

各テストケースは複数のテストケースを含む。最初の行にはテストケースの数$t$ ($1 \le t \le 2.5 \times 10^4$)が与えられる。以下、テストケースが続く。

各テストケースの最初の行には桜の木の数$n$ ($1 \le n \le 10^3$, $\sum n^2 < 10^6$)が与えられる。 2行目には$n$個の整数$a_1,\dots,a_n$ ($0 \le a_i \le 1$)が与えられる。これは各木に現在咲いている花の数である。 3行目には$n$個の整数$b_1,\dots,b_n$ ($0 \le b_i \le 1$)が与えられる。これはカモメがウナに渡した数列である。

出力

各テストケースについて、カモメとウナが再会できない場合は -1 を出力せよ。可能な場合は、ウナがカモメと再会するために必要な最小の日数$k$を出力せよ。

その後、続く$k$行に、ウナが行う魔法の指示を出力せよ。各行には$2c_i+1$個の整数: $c_i, l_{i,1}, r_{i,1}, l_{i,2}, r_{i,2}, \dots, l_{i,c_i}, r_{i,c_i}$ を含めよ。ここで$c_i$は$i$日目に行う魔法の操作の数であり、$[l_{i,j}, r_{i,j}]$は$j$番目の連続部分区間を表す。$1 < j < c_i$について$r_{i,j} < l_{i,j+1}$が成り立ち、$1 < i < c$について$l_{i,j} < r_{i,j}$が成り立つことが保証されなければならない。

解が複数ある場合は、そのうちのいずれかを出力してよい。

入出力例

入力 1

5
1 0 1 0 1
0 1 0 1 0

出力 1

-1

入力 2

3
1 1 0
1 1 1

出力 2

1
1 2 3

入力 3

10
1 0 0 1 0 1 0 0 1 0
1 0 1 0 0 1 0 1 0 0

出力 3

2
2 1 4 6 9
2 1 2 6 7

注記

3番目のテストケースでは、1日目の後、数列$a$は$[1, 1, 1, 2, 0, 1, 1, 1, 2, 0]$となる。 2日目の後、数列$a$は$[1, 2, 1, 2, 0, 1, 2, 1, 2, 0]$となる。 2日後には$a_i \equiv b_i \pmod 2$が成り立つことが明らかである。これを2日未満で達成することは不可能であることが示せる。

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.