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

网站建设分为哪三部分公众号可以做分类信息网站吗

网站建设分为哪三部分,公众号可以做分类信息网站吗,网站建设属于什么职能,成都顶呱呱网站建设4.有向无环的路径数 - 蓝桥云课 问题描述 给定 N 个节点 M 条边的有向无环图,请你求解有多少条 1 到 N 的路径。 由于答案可能很大,你只需要输出答案对 998244353 取模后的结果。 输入格式 第一行包含 2 个正整数 N,M,表示有向无环图的节…

4.有向无环的路径数 - 蓝桥云课

问题描述

给定 N 个节点 M 条边的有向无环图,请你求解有多少条 1 到 N 的路径。

由于答案可能很大,你只需要输出答案对 998244353 取模后的结果。

输入格式

第一行包含 2 个正整数 N,M,表示有向无环图的节点数和边数。

之后 M 行,每行给定 2 个正整数 u,v (ueqv 且 1≤u,v≤N),表示图中存在一条有向边 (u,v)。

输出格式

输出一行,包含一个整数,表示答案,答案对 998244353 取模后的结果。

样例输入

4 4
1 2
2 3
1 3
3 4

样例输出

2

评测数据规模

对于所有测评数据,1≤N,M≤1e5。

思路:

暴力搜
代码如下:
 

#include<iostream>
#include<algorithm>
using namespace std;
typedef long long ll;
ll n,m,ans,tot;
const ll N = 1e5+10;
const ll mod = 998244353;
ll head[N];
struct Edge{ll next;ll to;
}e[N];
bool vis[N];
void add(ll u,ll v)
{tot++;e[tot].next = head[u];e[tot].to = v;head[u] = tot;
}
void dfs(ll x)
{if(x == n){ans++;ans = ans % mod;return;}ll u = head[x];while(u != -1){ll to = e[u].to;if(!vis[to]){vis[to] = true;dfs(to);vis[to] = false;	}u = e[u].next;}
}
int main(void)
{ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);cin >> n >> m;for(ll i = 1 ; i <= n ; i++)head[i] = -1;for(ll i = 1 ; i <= m ; i++){ll u,v;cin >> u >> v;add(u,v);}vis[1] = true;dfs(1);cout << ans;return 0;} 

思路:

拓扑排序和dp‘

代码如下:

#include<iostream>
#include<algorithm>
#include<queue>
using namespace std;
typedef long long ll;
ll n,m,ans,tot;
const ll N = 1e5+10;
const ll mod = 998244353;
ll head[N],rd[N],dis[N];
struct Edge{ll next;ll to;
}e[N];
bool vis[N];
void add(ll u,ll v)
{tot++;e[tot].next = head[u];e[tot].to = v;head[u] = tot;
}int main(void)
{ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);queue <ll> pq;cin >> n >> m;for(ll i = 1 ; i <= n ; i++)head[i] = -1;for(ll i = 1 ; i <= m ; i++){ll u,v;cin >> u >> v;add(u,v);rd[v]++;}bool flag = false;for(ll i = 1 ; i <= n ; i++){if(rd[i] == 0){pq.push(i);if(i == 1){dis[i] = 1;flag = true;}}}while(!pq.empty()){ll pos = pq.front();pq.pop();if(pos == 1 && !flag){dis[pos] = 1;flag = true;}ll u = head[pos];while(u != -1){ll to = e[u].to;rd[to]--;dis[to] = (dis[to] + dis[pos])%mod; if(rd[to] == 0){pq.push(to);}u = e[u].next;}	 }cout << dis[n];return 0;} 

http://www.dtcms.com/wzjs/840439.html

相关文章:

  • 济南网站优化公司哪家好网站建设是网络工程师吗
  • 建个网站需要多少钱网推方案
  • 网站通知做文献的格式新手如何做分销
  • 福建省建设厅官方网站flash做ppt的模板下载网站
  • 中建交通建设集团有限公司网站站长工具集
  • 网站开发属于固定资产吗深圳正规seo
  • 营销的网站外贸跨境电商平台
  • 服务器上建设网站互联网营销推广方案
  • 广州金融网站设计百度验证网站的好处
  • 惠州企业网站建设长沙网站推广平台
  • 网站开发实训基本要求怎样让百度搜索到自己的网站
  • 网站建设基础功能友山建站优化
  • 爱网站免费一站二站Iis 建网站为什么说没有该用户
  • 公司网站在百度搜不到wordpress 翻页功能
  • 搭建dede网站服务器手机站模板
  • 传媒大学附近网站建设公司欧米茄官方手表
  • 佛山企业网站自助建站娄底企业网站建设制作
  • 网站页面自动还原代码南海网站建设哪家好
  • 怎样建设的网站好优化好排名建设内网网站流程
  • 大庆网站建设大庆海南百度推广公司电话
  • 企业公司网站模板下载seo外包服务费用
  • 物流网站建设方案范文域名被锁定网站打不开怎么办
  • 师大暨大网站建设图书网站建设的规模策划书
  • 企业名录网站 优帮云万网注册的网站长时间不能访问是不是被封了
  • 中国十大网站建设公司排名网络营销公司架构
  • 开店装修话做那个网站找工人全媒体门户网站建设方案
  • 群辉nas怎么做网站网站主机 流量
  • 广告联盟做网站淮南做网站推广
  • 夜间正能量网站网站开发定制宣传图片
  • 珠海网站外包济南又出现5例