P4313 文理分科

    • 318通过
    • 572提交
  • 题目提供者 洛谷
  • 评测方式 云端评测
  • 标签 图的建立,建图 最小割 网络流
  • 难度 省选/NOI-
  • 时空限制 1000ms / 512MB

题解

  • 提示:收藏到任务计划后,可在首页查看。
  • 体验新版界面

    最新讨论 显示

    推荐的相关题目 显示

    题目描述

    文理分科是一件很纠结的事情!(虽然看到这个题目的人肯定都没有纠结过)

    小P所在的班级要进行文理分科。他的班级可以用一个n*m的矩阵进行描述,每个格子代表一个同学的座位。每位同学必须从文科和理科中选择一科。同学们在选择科目的时候会获得一个满意值。满意值按如下的方式得到:

    1. 如果第i行第秒J的同学选择了文科,则他将获得art[i][j]的满意值,如果选择理科,将得到science[i][j]的满意值。

    2. 如果第i行第J列的同学选择了文科,并且他相邻(两个格子相邻当且仅当它们拥有一条相同的边)的同学全部选择了文科,则他会更开心,所以会增加same_art[i][j]的满意值。

    3. 如果第i行第j列的同学选择了理科,并且他相邻的同学全部选择了理科,则增加same_science[i][j]的满意值。

    小P想知道,大家应该如何选择,才能使所有人的满意值之和最大。请告诉他这个最大值。

    输入输出格式

    输入格式:

    第一行为两个正整数:n,m

    接下来n行m个整数,表示art[i][j];

    接下来n行m个整数.表示science[i][j];

    接下来n行m个整数,表示same_art[i][j];

    接下来n行m个整数,表示same_science[i][j];

    输出格式:

    输出为一个整数,表示最大的满意值之和

    输入输出样例

    输入样例#1: 复制
    3 4
    13 2 4 13
    7 13 8 12
    18 17 0 5
    8 13 15 4
    11 3 8 11
    11 18 6 5
    1 2 3 4 
    4 2 3 2
    3 1 0 4
    3 2 3 2
    0 2 2 1
    0 2 4 4 
    输出样例#1: 复制
    152

    说明

    样例说明

    1表示选择文科,0表示选择理科,方案如下:

    1 0 0 1

    0 1 0 0

    1 0 0 0

    数据范围

    N,M<=100,读入数据均<=500

    提示
    标程仅供做题后或实在无思路时参考。
    请自觉、自律地使用该功能并请对自己的学习负责。
    如果发现恶意抄袭标程,将按照I类违反进行处理。