bzoj 3444: 最后的晚餐
3444: 最后的晚餐
Time Limit: 5 Sec Memory Limit: 128 MB
Submit: 811 Solved: 282
[Submit][Status][Discuss]
Description
Input
Output
Sample Input
Sample Output
喜欢的人之间连条双向边,最后会得到x个连通图和y个独立的点
最后答案就是2^x*(x+y)!
但这题坑特别多!
只要有环就无解,只要一个点的度数>2就无解(喜欢他的人和他喜欢的人加在一起超过两个)
除此之外,两个人可以互相喜欢,这个时候会有重边,要去掉!
#include<stdio.h>
#include<vector>
#include<string.h>
using namespace std;
#define LL long long
#define mod 989381
vector<LL> G[500005];
LL ok, love[500005], in[500005];
void Sech(LL x, LL p)
{LL v, i;love[x] = 1;for(i=0;i<G[x].size();i++){v = G[x][i];if(love[v]){if(v!=p)ok = 0;continue;}Sech(v, x);}
}int main(void)
{LL n, m, i, x, y, ans, sum;while(scanf("%lld%lld", &n, &m)!=EOF){memset(in, 0, sizeof(in));memset(love, 0, sizeof(love));for(i=1;i<=n;i++)G[i].clear();for(i=1;i<=m;i++){scanf("%lld%lld", &x, &y);if(love[x]==y)continue;love[y] = x;G[x].push_back(y);G[y].push_back(x);in[x]++, in[y]++;}ok = ans = 1;for(i=1;i<=n;i++){if(in[i]>=3)ok = 0;}sum = 0;memset(love, 0, sizeof(love));for(i=1;i<=n;i++){if(love[i]==0){if(in[i]!=0){ans = ans*2%mod;Sech(i, 0);}love[i] = 1;sum++;}}if(ok==0)printf("0\n");else{while(sum--)ans = ans*(sum+1)%mod;printf("%lld\n", ans);}}return 0;
}
bzoj 3444: 最后的晚餐相关推荐
- BZOJ刷题记录---提高组难度
BZOJ刷题记录---提高组难度 总目录详见https://blog.csdn.net/mrcrack/article/details/90228694 序号 题号 算法 思想难度 实现难度 总难度 ...
- BZOJ.1558.[JSOI2009]等差数列(线段树 差分)
BZOJ 洛谷 首先可以把原序列\(A_i\)转化成差分序列\(B_i\)去做. 这样对于区间加一个等差数列\((l,r,a_0,d)\),就可以转化为\(B_{l-1}\)+=\(a_0\),\(B ...
- S-T平面图中利用最短路求最小割(BZOJ 1001)
BZOJ 1001: [BeiJing2006]狼抓兔子 最小割 题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1001 现在小朋友们最喜欢 ...
- BZOJ 1124: [POI2008]枪战Maf(构造 + 贪心)
题意 有 \(n\) 个人,每个人手里有一把手枪.一开始所有人都选定一个人瞄准(有可能瞄准自己).然后他们按某个顺序开枪,且任意时刻只有一个人开枪. 因此,对于不同的开枪顺序,最后死的人也不同. 问最 ...
- BZOJ 2957楼房重建
传送门 线段树 //Twenty #include<cstdio> #include<cstdlib> #include<iostream> #include< ...
- wpf+xml实现的一个随机生成早晚餐的小demo
话说每到吃完的时间就发愁,真的不知道该吃什么,然后就想到做一个生成吃什么的小软件,既然这个软件如此的简单,就打算用wpf开发吧,也不用数据库了,直接保存在xml中就可以了 程序整体结构如下图 首先我写 ...
- BZOJ.5249.[九省联考2018]iiidx(贪心 线段树)
BZOJ LOJ 洛谷 \(d_i\)不同就不用说了,建出树来\(DFS\)一遍. 对于\(d_i\)不同的情况: Solution 1: xxy tql! 考虑如何把这些数依次填到树里. 首先对于已 ...
- bzoj 4871: [Shoi2017]摧毁“树状图”
4871: [Shoi2017]摧毁"树状图" Time Limit: 25 Sec Memory Limit: 512 MB Submit: 53 Solved: 9 [Su ...
- BZOJ 1592. Making the Grade(思维,数据结构优化DP,以及三个拓展问题)[Usaco2008 Feb]【BZOJ计划】
整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 BZOJ简单题合集x 目录 BZOJ 1592. Making the Grade 拓展问题一 拓展问 ...
最新文章
- php cms帮助文档,phpcms手册
- java 10新_【Java基础】Java10 新特性
- ORA-01555 snapshot too old
- React Bind Handle的思考
- 面试之 listview优化
- DXperience 8.2.4 简繁体汉化,本地化,Skins包含webform,winform
- HelloWorld.java –打印Hello World的Java程序
- leetcode1721. 交换链表中的节点
- LeetCode 1056. 易混淆数(哈希)
- C++求复数的角度_【研读.教材分析】“勾股定理”教学——基于单元整体的角度再思考...
- C++_-数据类型-字符型_转义字符_字符串类型--C++语言工作笔记012
- VC++6.0与VS2010的区别
- cranly:你的R包管理工具
- fdisk 分区/格式化/挂载
- 神州行省内流量套餐6元500M申请,发送BLSN6到10086即可
- 好用的浏览器,与Google Chrome同内核
- 增加对IE11的兼容
- 照片背景底色更换工具二(python+flask网页版源码及打包)
- 怎么把四个图片合成一个图片?
- 企业中台最佳实践--组织架构调整(五)
热门文章
- 学python语言有前途吗-学习python的前景怎么样?
- python入门先学什么-C和Python我该先学什么?
- 《正版 图解语音识别 语音识别入门实践教程 语音识别技术书 人工智能机器学习深度学习计算机网络编程书籍R3Z978》[日]荒木雅弘著【摘要 书评 在线阅读】-苏宁易购图书...
- 语音识别模块 LD3320
- win8.1计算机开启远程桌面连接不上,Win8.1电脑远程桌面无法连接提示“你的凭据不工作”怎么办...
- java简单增删改查_JAVA JDBC 简单的增删改查
- jpa内网mysql_mysql+jpa简单实现步骤
- linux tomcat 配置数据库,tomcat把项目放在root下root.xml配置数据库
- ES 处理日志字段超出 1000 引发的报错
- linux下redis开机自启动