P3965 [TJOI2013]循环格

    • 79通过
    • 148提交
  • 题目提供者 elijahqi
  • 评测方式 云端评测
  • 标签 图的建立,建图 最大流 费用流 各省省选 2013 天津
  • 难度 省选/NOI-
  • 时空限制 1000ms / 128MB

题解

  • 提示:收藏到任务计划后,可在首页查看。
  • 最新讨论 显示

    推荐的相关题目 显示

    题目背景

    一个循环格就是一个矩阵,其中所有元素为箭头,指向相邻四个格子。每个元素有一个坐标(行,列),其中左上角元素坐标为(0,0)。给定一个起始位(r,c),你可以沿着箭头方向在格子间行走。即:如果(r,c)是一个左箭头,那么走到(r,c-1);如果是一个右箭头,走到(r,c+1);如果是上箭头,走到(r-1,c);如果是下箭头,走到(r+1,c)。每一行和每一列都是循环的,即如果走出边界,你会出现在另一侧。比如在一个5*5的循环格里,从(3,0)向左走会出现在(3,4)。

    题目描述

    一个完美的循环格是这样定义的:对于任意一个起始位置,你都可以沿着箭头最终回到起始位置。如果一个循环格不满足完美,你可以随意修改任意一个元素的箭头直到完美。例如下图,左边不是一个完美的循环格,因为只有从(1,1),(1,2),(2,0),(2,3)出发才会回到起始位置。通过修改其中两个箭头,可以得到右图,一个完美的循环格。

    给定一个循环格,你需要计算最少需要修改多少个元素使其完美。

    输入输出格式

    输入格式:

    第一行两个整数R和C,表示循环格的行和列。接下来R行,每一行包含C个字符LRUD表示左右上下

    输出格式:

    一个整数,表示最少需要修改多少个元素使得给定的循环格完美。

    输入输出样例

    输入样例#1: 复制
    4 4
    RRRD
    URDD
    UULD
    ULLL
    输出样例#1: 复制
    0
    输入样例#2: 复制
    3 4
    RRRD
    URLL
    LRRR
    输出样例#2: 复制
    2

    说明

    数据范围

    30%的数据,1 ≤ R, C ≤ 7

    100%的数据,1 ≤ R, C ≤ 15

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