zoukankan      html  css  js  c++  java
  • 一道新题的备忘,目前并不会解

    [HZOI 2016]排座位

    【背景】

    调研考试过后,班里数学和生物奥赛的同学们都出去培训了,只剩下几个信息奥赛的同学在空荡荡的教室里不亦乐乎……在这时,面对空荡荡的教室和星罗棋布的同学,小F决定为大家重排座位。

    但是重排座位也是一项不容易的工作,因为为了促进大家学习以及避免不良影响,有些同学必须坐在一起,而有些同学不能坐在一起。坐在一起的定义是前后左右之一相邻。

    另外,由于某些桌椅年久失修,不能坐人。

    现在小F想知道,一共有多少种满足要求的方案?

    教室为n*m的矩形。

    【输入】

    输入n,m表示教室的大小,p表示学生的数量。

    然后是a表示不能坐人的位置数,以下a行描述每个座位。

    然后是b表示必须坐在一起的关系数,以下b行描述两个同学。

    然后是c表示不能坐在一起的关系数,以下c行描述两个同学。

    【输出】

    总方案数。

    【样例】

    输入:

    2 3 4

    1

    1 2

    1

    1 2

    2

    3 4

    1 4

    【输出】

    16

    【解释】

    所有满足条件的方案如下:

     (注意第一排中间那个位置不能坐)

    1

     

    3

    2

    4

     

    1

     

    4

    2

    3

     

    3

     

    1

     

    4

    2

    4

     

    1

     

    3

    2

    2

     

    4

    1

    3

     

    3

     

    4

    1

    2

     

    3

     

     

    1

    2

    4

    3

     

    4

    2

    1

     

    4

     

    3

    2

    1

     

    4

     

     

    2

    1

    3

    3

     

    4

     

    1

    2

    4

     

    3

     

    1

    2

     

     

    4

    3

    1

    2

    4

     

    2

     

    3

    1

    4

     

    3

     

    2

    1

     

     

    3

    4

    2

    1

    233333333
  • 相关阅读:
    BFS(广度优先搜索)
    有源点最短路径--Dijkstra算法
    DFS(深度优先搜索)
    循环双链表基本操作
    有向图的邻接表
    无向网的邻接矩阵
    双链表的基本运算
    项目环境搭建【Docker+k8s】十 || kubernetes资源配置运行容器
    项目环境搭建【Docker+k8s】九 || kubernetes创建容器
    项目环境搭建【Docker+k8s】八 || kubernetes集群部署
  • 原文地址:https://www.cnblogs.com/hzoier/p/5720308.html
Copyright © 2011-2022 走看看