AT_arc112_f.[ARC112F] Die Siedler

NOI/NOI+/CTSC

通过率:0%

AC君温馨提醒

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

题目描述

すぬけ君正在玩一个使用 11 到 nn 号卡牌共 nn 种卡牌的游戏。这个游戏中有 mm 种卡包,第 ii 种卡包中包含卡牌 jj 的数量为 si,js_{i,j}。每个卡包中至少有 11 张卡牌。

最开始,すぬけ君拥有卡牌 jj 的数量为 cjc_j(保证他总共至少有 11 张卡牌)。

すぬけ君可以按照任意顺序、任意次数进行以下操作:

  • 获得一个卡包:选择 i=1,…,mi=1,\dots,m 中的一个卡包,获得该卡包中包含的所有卡牌。
  • 交换卡牌:选择 j=1,…,nj=1,\dots,n 中的一个卡牌,弃掉 2j2j 张卡牌 jj,获得 11 张卡牌 ((j mod n)+1)((j\ \text{mod}\ n)+1)。(必须拥有至少 2j2j 张卡牌 jj 才能进行此操作。)

すぬけ君希望使自己持有的卡牌总数尽可能少。请你求出他能够达到的卡牌总数的最小值。

输入格式

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

nn mm c1c_1 c2c_2 …\dots cnc_n
s1,1s_{1,1} s1,2s_{1,2} …\dots s1,ns_{1,n}
⋮\vdots
sm,1s_{m,1} sm,2s_{m,2} …\dots sm,ns_{m,n}

输出格式

请输出すぬけ君能够达到的卡牌总数的最小值。

输入输出样例

  • 输入#1

    3 1
    0 3 5
    0 1 0

    输出#1

    1
  • 输入#2

    5 2
    0 0 1 7 0
    0 3 2 0 0
    1 0 4 0 0

    输出#2

    2
  • 输入#3

    12 10
    0 2 4 4 1 5 6 8 0 9 18 19
    1 2 4 3 4 0 6 10 9 18 5 7
    0 3 0 1 1 4 11 13 9 19 9 10
    1 2 4 1 5 8 1 6 15 0 11 1
    0 2 0 6 9 3 13 14 16 9 14 14
    1 3 2 5 6 1 9 7 1 7 6 22
    0 0 4 5 2 3 8 3 13 14 17 4
    0 3 3 4 0 7 0 9 14 2 17 14
    0 2 4 1 3 3 3 14 17 6 15 13
    0 0 1 0 1 0 4 5 9 4 17 17
    1 2 1 3 5 7 0 13 7 6 1 0

    输出#3

    9

说明/提示

限制条件

  • 2≤n≤162 \leq n \leq 16
  • 1≤m≤501 \leq m \leq 50
  • 0≤si,j, cj<2j0 \leq s_{i,j},\ c_j < 2j
  • c1+c2+⋯+cn>0c_1 + c_2 + \dots + c_n > 0
  • si,1+si,2+⋯+si,n>0s_{i,1} + s_{i,2} + \dots + s_{i,n} > 0

样例解释 1

用 (a1,a2,a3)(a_1, a_2, a_3) 表示分别持有 a1a_1 张卡牌 11、a2a_2 张卡牌 22、a3a_3 张卡牌 33。可以按如下方式操作,将卡牌总数变为 11 张:

  • 获得第 11 种卡包后,状态为 (0,4,5)(0,4,5)。
  • 选择 j=2j=2 进行卡牌交换,状态变为 (0,0,6)(0,0,6)。
  • 选择 j=3j=3 进行卡牌交换,状态变为 (1,0,0)(1,0,0)。

无法将卡牌总数变为 00,因此 11 是最小值。

样例解释 2

先获得第 22 种卡包两次,再获得第 11 种卡包,然后多次进行卡牌交换,可以使得只持有 11 张卡牌 44 和 11 张卡牌 55。

由 ChatGPT 4.1 翻译

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

首页