AT_keyence2020_d.Swap and Flip

提高+/省选-

通过率:0%

AC君温馨提醒

该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

有 NN 张卡片,编号为 1,2,…,N1, 2, \ldots, N。第 ii 张卡片(1≤i≤N1 \leq i \leq N)的一面用红色写着整数 AiA_i,另一面用蓝色写着整数 BiB_i。最开始,这些卡片按照编号顺序从左到右排成一列,且红色面朝上。

你可以重复以下操作,使得卡片正面朝上的数字序列从左到右是广义单调递增的(即对于每个 ii(1≤i≤N−11 \leq i \leq N-1),第 i+1i+1 张卡片正面朝上的数字大于等于第 ii 张卡片正面朝上的数字):

  • 选择一个整数 ii(1≤i≤N−11 \leq i \leq N-1)。交换第 ii 张和第 i+1i+1 张卡片的位置,并将这两张卡片都翻面。

请判断是否可以通过若干次操作使得卡片正面朝上的数字序列变为广义单调递增。如果可以,输出所需操作次数的最小值;如果不可以,输出 −1-1。

输入格式

输入按以下格式从标准输入读入。

NN A1A_1 A2A_2 …\ldots ANA_N B1B_1 B2B_2 …\ldots BNB_N

输出格式

如果无法使序列变为单调递增,输出 −1-1。如果可以,输出所需操作次数的最小值。

输入输出样例

  • 输入#1

    3
    3 4 3
    3 2 3

    输出#1

    1
  • 输入#2

    2
    2 1
    1 2

    输出#2

    -1
  • 输入#3

    4
    1 2 3 4
    5 6 7 8

    输出#3

    0
  • 输入#4

    5
    28 15 22 43 31
    20 22 43 33 32

    输出#4

    -1
  • 输入#5

    5
    4 46 6 38 43
    33 15 18 27 37

    输出#5

    3

说明/提示

限制条件

  • 1≤N≤181 \leq N \leq 18
  • 1≤Ai,Bi≤501 \leq A_i, B_i \leq 50(1≤i≤N1 \leq i \leq N)
  • 所有输入值均为整数。

样例解释 1

操作一次,选择 i=1i=1,卡片正面朝上的数字序列变为 [2,3,3][2, 3, 3],满足单调递增。

样例解释 2

无论进行多少次操作,卡片正面朝上的数字序列都为 [2,1][2, 1],无法变为单调递增。

样例解释 3

有时不需要进行任何操作。

由 ChatGPT 4.1 翻译

输入解题思路,AI测评打分。不知道怎么写?

首页