Codeforces 40E Number Table (计数)
2016-03-23 13:46
351 查看
#include <iostream> #include <cstdio> #include <cstring> #include <string> #include <map> #include <vector> using namespace std; #define N 1020 #define M 400030 #define mod 1000000007 #define B 234324 #define LL long long int n, m, p, k; bool swp; int x , y , v ; int a ; int main() { scanf("%d%d%d", &n, &m, &k); if((n - m) & 1) { puts("0"); return 0; } if(n < m) swp = 1, swap(n, m); for(int i = 1; i <= k; ++i) { scanf("%d%d%d", &x[i], &y[i], &v[i]); if(swp) swap(x[i], y[i]); a[x[i]][y[i]] = v[i]; } scanf("%d", &p); int x = 0, flag = 1; for(int i = 1; i <= n; ++i) { int f = 0, cnt = 0; for(int j = 1; j <= m; ++j) { if(a[i][j] != 0) ++cnt; if(a[i][j] == -1) f ^= 1; } if(cnt == m) { if(f == 0) { flag = 0; break; } ++x; } } if(!flag) { puts("0"); return 0; } int t = n * m - n - m + 1 + x - k; x = 2; int ans = 1; while(t) { if(t & 1) ans = 1LL * ans * x % p; t >>= 1; x = 1LL * x * x % p; } cout << ans << endl; return 0; }
相关文章推荐
- MySql同时更新多条记录的方法
- librtmp 控制流程分析
- Android---颜色值的透明度
- 输出一个整数的每一位,计算1/1-1/2+1/3-1/4+1/5 …… + 1/99 - 1/100 的值,编写程序数一下 1到 100 的所有整数中出现多少次数字 9
- 第九章 多语言环境的支持和多屏幕的适配(1)
- Java 数据库操作
- div布局
- BZOJ1452 [JSOI2009] Count
- VirtualBox 安装增强工具
- What is Cross Linux From Scratch?
- git学习--commit-msg缺失导致的missing Change-Id问题分析
- java多线程问题
- 杭电2524矩形A + B
- 微信支付接口遇到的问题解决
- RabbitMQ监控(3)——核心监控类实现
- 使用grunt实现自动化单元测试
- 各种正则表达式
- exe4j 给jar打包exe文件
- 基本类型byte&char
- LayoutInflater作用及使用