AT_keyence2020_d Swap and Flip
题目描述
有 $N$ 张卡片,编号为 $1, 2, \ldots, N$。第 $i$ 张卡片($1 \leq i \leq N$)的一面用红色写着整数 $A_i$,另一面用蓝色写着整数 $B_i$。最开始,这些卡片按照编号顺序从左到右排成一列,且红色面朝上。
你可以重复以下操作,使得卡片正面朝上的数字序列从左到右是广义单调递增的(即对于每个 $i$($1 \leq i \leq N-1$),第 $i+1$ 张卡片正面朝上的数字大于等于第 $i$ 张卡片正面朝上的数字):
- 选择一个整数 $i$($1 \leq i \leq N-1$)。交换第 $i$ 张和第 $i+1$ 张卡片的位置,并将这两张卡片都翻面。
请判断是否可以通过若干次操作使得卡片正面朝上的数字序列变为广义单调递增。如果可以,输出所需操作次数的最小值;如果不可以,输出 $-1$。
输入格式
输入按以下格式从标准输入读入。
> $N$ $A_1$ $A_2$ $\ldots$ $A_N$ $B_1$ $B_2$ $\ldots$ $B_N$
输出格式
如果无法使序列变为单调递增,输出 $-1$。如果可以,输出所需操作次数的最小值。
说明/提示
## 限制条件
- $1 \leq N \leq 18$
- $1 \leq A_i, B_i \leq 50$($1 \leq i \leq N$)
- 所有输入值均为整数。
## 样例解释 1
操作一次,选择 $i=1$,卡片正面朝上的数字序列变为 $[2, 3, 3]$,满足单调递增。
## 样例解释 2
无论进行多少次操作,卡片正面朝上的数字序列都为 $[2, 1]$,无法变为单调递增。
## 样例解释 3
有时不需要进行任何操作。
由 ChatGPT 4.1 翻译