当前位置: 首页 > news >正文

数据服务网站策划方案目前市面上做网站的程序

数据服务网站策划方案,目前市面上做网站的程序,现在的网游排行第一,新东方烹饪学校学费价目表题目背景 本题测试数据已修复。 题目描述 每头奶牛都梦想成为牛棚里的明星。被所有奶牛喜欢的奶牛就是一头明星奶牛。所有奶牛都是自恋狂,每头奶牛总是喜欢自己的。奶牛之间的“喜欢”是可以传递的——如果 AAA 喜欢 BBB,BBB 喜欢 CCC,那么…

题目背景

本题测试数据已修复。

题目描述

每头奶牛都梦想成为牛棚里的明星。被所有奶牛喜欢的奶牛就是一头明星奶牛。所有奶牛都是自恋狂,每头奶牛总是喜欢自己的。奶牛之间的“喜欢”是可以传递的——如果 AAA 喜欢 BBBBBB 喜欢 CCC,那么 AAA 也喜欢 CCC。牛栏里共有 NNN 头奶牛,给定一些奶牛之间的爱慕关系,请你算出有多少头奶牛可以当明星。

输入格式

第一行:两个用空格分开的整数:NNNMMM

接下来 MMM 行:每行两个用空格分开的整数:AAABBB,表示 AAA 喜欢 BBB

输出格式

一行单独一个整数,表示明星奶牛的数量。

样例 #1

样例输入 #1

3 3
1 2
2 1
2 3

样例输出 #1

1

提示

只有 333 号奶牛可以做明星。

【数据范围】

对于 10%10\%10% 的数据,N≤20N\le20N20M≤50M\le50M50

对于 30%30\%30% 的数据,N≤103N\le10^3N103M≤2×104M\le2\times 10^4M2×104

对于 70%70\%70% 的数据,N≤5×103N\le5\times 10^3N5×103M≤5×104M\le5\times 10^4M5×104

对于 100%100\%100% 的数据,1≤N≤1041\le N\le10^41N1041≤M≤5×1041\le M\le5\times 10^41M5×104

解题思路:

根据题意中的“喜欢可以传递”,在一个爱慕环中的奶牛可以缩成一头奶牛

因为环中任何一头奶牛所喜欢的也被环中其他的奶牛喜欢

喜欢环中任何一头奶牛也会喜欢环中所有的奶牛

采用tarjan缩点,生成一张新图,图中的所有奶牛都是“单相思”

只有图中出度为000的节点可能是明星奶牛

因为“单相思”不会得到回应,也就不会符合“被所有奶牛喜欢”这一条件

但是如果有多个出度为000的节点,那么就不存在明星奶牛,因为出度为000的奶牛不会互相喜欢

AC代码如下

#include <iostream>
#include <string.h>
#include <queue>
using namespace std;
const int max_n = 1e4;
const int max_m = 5e4;int n, m, u, v;
//链式前向星
int head[max_n + 1];
int tot = -1;
struct edge { int v, next; }edges[max_m];
//tarjan缩点
int timeclock = 0, dfn[max_n + 1], low[max_n + 1];
int in_stack[max_n + 1], stack[max_n], rsp = -1;
//新图
int belong[max_n + 1], power[max_n + 1], cnt = 0;
int out[max_n + 1];//入度void add_edge(int u, int v) {edges[++tot] = { v, head[u] }; head[u] = tot;
}void tarjan(int s) {dfn[s] = low[s] = ++timeclock;stack[++rsp] = s;in_stack[s] = 1;for (int i = head[s]; i != -1; i = edges[i].next) {int v = edges[i].v;if (!dfn[v]) {tarjan(v);low[s] = min(low[s], low[v]);}else if (in_stack[v]) {low[s] = min(low[s], low[v]);}}if (dfn[s] == low[s]) {cnt++;while (stack[rsp + 1] != s) {belong[stack[rsp]] = cnt;power[cnt]++;//记录合并节点的数量in_stack[stack[rsp]] = 0;rsp--;}}
}int main() {memset(head + 1, -1, sizeof(int) * max_n);cin >> n >> m;for (int i = 0; i < m; i++) {cin >> u >> v;add_edge(u, v);}for (int i = 1; i <= n; i++) {if (!dfn[i]) {tarjan(i);}}for (int i = 1; i <= n; i++) {for (int j = head[i]; j != -1; j = edges[j].next) {int v = edges[j].v;//出度计数if (belong[i] != belong[v]) {out[belong[i]]++;}}}int ans = 0, find = 0;for (int i = 1; i <= cnt; i++) {if (!out[i]) {if (find) {cout << 0 << endl;return 0;}else {find++;ans = i;}}}cout << power[ans] << endl;return 0;
}
http://www.yayakq.cn/news/15170/

相关文章:

  • h5在哪个网站中做网络舆情分析研判报告
  • 网站建设郑州python 网站开发实例教程
  • 长沙精品网站制作网站内容页做301
  • 怎么做网站的营销创意产品设计书
  • 成都物流网站建设小学生一分钟新闻播报
  • 企业网站规划与设计网络服务提供者接到权利人
  • 网站开发作业总结天元建设集团有限公司北京分公司
  • 做网站的技巧网站构建的基本流程
  • zepto网站开发个人网站cms系统
  • 福州企业建站服务郑州看妇科最好的医院是哪里
  • 是想建个网站 用本地做服务器2023最近的新闻大事10条
  • 怎么seo网站关键词优化重庆建设教育培训管理系统网站
  • 自助手机建站青海省建设厅网站备案资料
  • 免费网站设计什么价格网站的导航栏设计文本
  • 北京门户网站制作学ui设计
  • 网站备案 多ipwordpress安装后慢的不行
  • 免费建站网站一级大dw可以做wordpress
  • 石家庄哪里有网站建设建设成一个网站的程序
  • 常州制作网站公司中国10大品牌网官网
  • 做网站写概要设计浙江网站建设的要求
  • 广州市城市建设网站自我介绍ppt配图
  • 佛山宽屏网站建设黄岩做网站公司电话
  • 怎么做关于花的网站网站建设客户需求表
  • 网站流量提升方法宁夏固原建设网站
  • 网站建设公司推广广告语深圳网站关键词排名
  • 网站设计制作从哪珠峰网站建设
  • 企业官方网站开发如何入账网络销售就是忽悠人
  • 网站备案多个域名替老外做网站
  • 建设个网站需要多少钱企业为什么要建立战略联盟
  • 肇庆网站建设方案wordpress指定上传目录