CF1662J.Training Camp

普及/提高-

通过率:0%

AC君温馨提醒

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

题目描述

You are organizing a training camp to teach algorithms to young kids. There are n2n^2 kids, organized in an nn by nn grid. Each kid is between 11 and nn years old (inclusive) and any two kids who are in the same row or in the same column have different ages.

You want to select exactly nn kids for a programming competition, with exactly one kid from each row and one kid from each column. Moreover, kids who are not selected must be either older than both kids selected in their row and column, or younger than both kids selected in their row and column (otherwise they will complain). Notice that it is always possible to select nn kids satisfying these requirements (for example by selecting nn kids who have the same age).

During the training camp, you observed that some kids are good at programming, and the others are not. What is the maximum number of kids good at programming that you can select while satisfying all the requirements?

输入格式

The first line contains nn ( 1n1281 \leq n \leq 128 ) — the size of the grid.

The following nn lines describe the ages of the kids. Specifically, the ii -th line contains nn integers ai,1,ai,2,,ai,na_{i,1}, \, a_{i,2}, \, \dots, \, a_{i, n} ( 1ai,jn1 \le a_{i,j} \le n ) — where ai,ja_{i,j} is the age of the kid in the ii -th row and jj -th column. It is guaranteed that two kids on the same row or column have different ages, i.e., ai,jai,ja_{i,j} \ne a_{i,j'} for any 1in1\le i\le n , 1j<jn1\le j < j'\le n , and ai,jai,ja_{i,j} \ne a_{i',j} for any 1i<in1\le i < i'\le n , 1jn1\le j\le n .

The following nn lines describe the programming skills of the kids. Specifically, the ii -th line contains nn integers ci,1,ci,2,,ci,nc_{i,1}, \, c_{i,2}, \, \dots, \, c_{i, n} ( ci,j{0,1}c_{i,j} \in \{0, \, 1\} ) — where ci,j=1c_{i,j}=1 if the kid in the ii -th row and jj -th column is good at programming and ci,j=0c_{i,j}=0 otherwise.

输出格式

Print the maximum number of kids good at programming that you can select while satisfying all the requirements.

输入输出样例

  • 输入#1

    3
    1 2 3
    3 1 2
    2 3 1
    1 0 0
    0 0 1
    0 0 0

    输出#1

    1
  • 输入#2

    4
    1 2 3 4
    2 1 4 3
    3 4 1 2
    4 3 2 1
    1 1 1 0
    0 0 1 0
    1 1 0 1
    0 0 0 1

    输出#2

    2

说明/提示

In the first sample, it is not possible to select the two kids good at programming (in row 11 and column 11 , and in row 22 and column 33 ), because then you would have to select the kid in row 33 and column 22 , and in that case two kids would complain (the one in row 11 and column 22 , and the one in row 33 and column 11 ).

A valid selection which contains 11 kid good at programming is achieved by choosing the 33 kids who are 11 year old.

In the second sample, there are 1010 valid choices of the nn kids that satisfy the requirements, and each of them selects exactly 22 kids good at programming.

首页