HDU 4365
把涂色的格子按对称旋转至左上角。
当未涂色时,若要符合要求,则必须要求每一圈矩形都是上下左右对称的。注意是一圈的小矩形。对于N*N的阵,若最外层一圈的小矩形要符合要求,则(假设N%2==0)可以涂色的种数为K^(N/2)种。全个矩阵可涂色数为K^(N/2)*(N/2+1)/2。
接第一段,(N/2)*(N/2+1)/2即为左上角矩形的对角线以上的小矩形数。若移动后有小矩形被涂色,减去即可。
今天才做了两题。这一题的规律是在吃饭时想到的,而上一题,卡在了那个公式上。
好可怜的人啊。。。。还有一题,是组合数学,果然放弃了,不想做组合数学的题。
。。。
#include <iostream>
#include <cstdio>
#include <algorithm>
using namespace std;
const int Mod=100000007;
struct Paint{
int x,y;
}Ed[2050]; bool cmp(Paint a,Paint b){
if(a.x<b.x) return true;
else if(a.x==b.x){
if(a.y<b.y)return true;
}
return false;
} int quick(long long a,long long b,long long m){
long long ans=1;
while(b){
if(b&1){
ans=(ans*a)%m;
}
b>>=1;
a=(a*a)%m;
}
return (int)ans;
} int main(){
int n,m,k,pi;
while(scanf("%d%d%d",&n,&m,&k)!=EOF){
for(int i=0;i<m;i++){
scanf("%d%d",&Ed[i].x,&Ed[i].y);
Ed[i].x++; Ed[i].y++;
}
if(n%2)
n++;
pi=n/2;
pi=pi*(pi+1)/2;
int mid=n/2;
for(int i=0;i<m;i++){
if(Ed[i].x>mid) Ed[i].x=(n+1)-Ed[i].x;
if(Ed[i].y>mid) Ed[i].y=n+1-Ed[i].y;
if(Ed[i].x>Ed[i].y){
int tmp=Ed[i].y;
Ed[i].y=Ed[i].x;
Ed[i].x=tmp;
}
}
sort(Ed,Ed+m,cmp);
if(m>=1) pi--;
for(int i=1;i<m;i++){
if(Ed[i].x==Ed[i-1].x&&Ed[i].y==Ed[i-1].y)
continue;
pi--;
}
printf("%d\n",quick((long long)k,(long long)pi,(long long)Mod)%Mod);
}
return 0;
}
HDU 4365的更多相关文章
- HDU 4365——Palindrome graph——————【规律+快速幂】
Palindrome graph Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) ...
- HDU 5643 King's Game 打表
King's Game 题目连接: http://acm.hdu.edu.cn/showproblem.php?pid=5643 Description In order to remember hi ...
- HDOJ 2111. Saving HDU 贪心 结构体排序
Saving HDU Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total ...
- 【HDU 3037】Saving Beans Lucas定理模板
http://acm.hdu.edu.cn/showproblem.php?pid=3037 Lucas定理模板. 现在才写,noip滚粗前兆QAQ #include<cstdio> #i ...
- hdu 4859 海岸线 Bestcoder Round 1
http://acm.hdu.edu.cn/showproblem.php?pid=4859 题目大意: 在一个矩形周围都是海,这个矩形中有陆地,深海和浅海.浅海是可以填成陆地的. 求最多有多少条方格 ...
- HDU 4569 Special equations(取模)
Special equations Time Limit:1000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64u S ...
- HDU 4006The kth great number(K大数 +小顶堆)
The kth great number Time Limit:1000MS Memory Limit:65768KB 64bit IO Format:%I64d & %I64 ...
- HDU 1796How many integers can you find(容斥原理)
How many integers can you find Time Limit:5000MS Memory Limit:32768KB 64bit IO Format:%I64d ...
- hdu 4481 Time travel(高斯求期望)(转)
(转)http://blog.csdn.net/u013081425/article/details/39240021 http://acm.hdu.edu.cn/showproblem.php?pi ...
随机推荐
- Android笔记之网络状态推断
1.首先当然得在 manifest 中加入检查网络状态的权限: <uses-permission android:name="android.permission.ACCESS_NET ...
- P1127 词链
P1127 词链 题目描述 如果单词X的末字母与单词Y的首字母相同,则X与Y可以相连成X.Y.(注意:X.Y之间是英文的句号“.”).例如,单词dog与单词gopher,则dog与gopher可以相连 ...
- php中一个经典的!==的用法
php中一个经典的!==的用法 <?php $str = 'Every time you bleed for reaching greatness.'; $cha = 'E'; if(strpo ...
- [Pulgin] 前端上传组件Plupload使用指南
我之前写过一篇文章<文件上传利器SWFUpload使用指南>,里面介绍了上传组件SWFUpload的使用方法,但现在随着html5技术的逐渐推广和普及,再去使用以flash为上传手段的SW ...
- Eclipse 连接hsqldb数据库
初学Java,在接触数据库根本无从下手,不知如何将程序和数据库连接起来,今天做一个记录. 数据库是:hsqldb_1_8_0_5 附链接百度云盘 链接:https://pan.baidu.com/s/ ...
- Bootstrap 模态框使用
<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content ...
- Centos7 docker nginx容器搭建
一.安装docker http://www.cnblogs.com/WJ--NET/p/8553807.html 二.创建Dockerfile #创建文件夹 mkdir centos_nginx cd ...
- 【Five-Minute Share】“请先了解所使用的工具 ,磨刀不误砍柴工”
数据是应用系统的血液,没有数据的系统应用价值是非常有限的.经过多年的观察发现,身边很多的程序开发人员在开发应用系统的时候,都是按照标准SQL语法及应用方法去进行数据库设计,并进行应用开发的,没有任何的 ...
- otool -l 可执行文件结构
otool -l /Users/zzf073/Desktop/FqlMerchantX /Users/zzf073/Desktop/FqlMerchantX: Mach header magic cp ...
- 【转】【Oracle 集群】11G RAC 知识图文详细教程之RAC在LINUX上使用NFS安装前准备(六)
原文地址:http://www.cnblogs.com/baiboy/p/orc6.html 阅读目录 目录 介绍 下载软件 操作系统安装 Oracle安装先决条件 创建共享磁盘 参考文献 相关文章 ...