题目名称 2184. 雕塑安置
输入输出 arrange.in/out
难度等级 ★★
时间限制 1000 ms (1 s)
内存限制 256 MiB
测试数据 10
题目来源 Gravatarcqw 于2016-03-23加入
开放分组 全部用户
提交状态
分类标签
分享题解
通过:26, 提交:50, 通过率:52%
GravatarRiolu 100 0.006 s 0.32 MiB C++
GravatarRiolu 100 0.008 s 0.32 MiB C++
GravatarRiolu 100 0.008 s 0.32 MiB C++
GravatarHeRaNO 100 0.013 s 0.29 MiB C++
GravatarExtreme°/极致 ° 100 0.016 s 0.32 MiB C++
GravatarZXCVBNM_1 100 0.017 s 0.31 MiB C++
GravatarExtreme°/极致 ° 100 0.019 s 0.28 MiB C++
GravatarExtreme°/极致 ° 100 0.026 s 0.25 MiB C++
Gravatarsvideo 100 0.034 s 0.28 MiB C++
Gravatar521 100 0.121 s 1.66 MiB C++
本题关联比赛
20160323
关于 雕塑安置 的近10条评论(全部评论)
不需要高精度= =
GravatarRiolu
2016-03-31 20:34 2楼
竟然又有所有点都是在一行的
GravatarExtreme°/极致 °
2016-03-29 20:46 1楼

2184. 雕塑安置

★★   输入文件:arrange.in   输出文件:arrange.out   简单对比
时间限制:1 s   内存限制:256 MiB

【题目描述】


话说SYZX为了美化校园,请设计师设计了n座精美的雕塑,准备安置在校园里。整个校园可以抽象为一个n*n 的大网格,并且为了平均分布这些雕塑,学校决定网格的同一行、同一列必须有且只有一座雕塑,还规定不能出现1座以上的雕塑出现在同一个1*1 网格里的情况。然而某些1*1 的网格恰巧是一片湖或者是食堂,这些网格就不能安置雕塑了。每个雕塑的造型是相同的,这样同一种安置方案中交换排列都算一种。

学校想知道有多少种安置方案,你能解决这个问题吗?


【输入格式】


第一行两个整数n,m 用空格分开,n表示n*n的大网格,m表示不能安置雕塑的位置个数。

第二行至第m+1行,每行两个整数x,y,用空格分开,表示坐标(x,y)的1*1 网格上不能安置雕塑。


【输出格式】

仅一行,方案的个数。

【样例输入】

6 7
1 1
2 1
2 2
3 3
3 4
4 3
4 4

【样例输出】

184

【提示】


对于 50%的数据, 保证 n≤10,m≤10

对于100%的数据,保证n≤20,m≤10,方案总数≤2^63-1


【来源】

在此键入。