关注
求问D为什么建返图就会WA,建正图才能AC。 正图代码 #include<iostream>
#include<cstdio>
#include<algorithm>
#include<cmath>
#include<set>
#include<map>
#include<queue>
#include<stack>
#include<vector>
#include<cstring>
#include<cstdlib>
#include<iomanip>
#include<ctime>
#include<string>
#include<bitset>
#define D(x) cout<<#x<<" = "<<x<<" "
#define E cout<<endl
using namespace std;
typedef long long ll;
typedef pair<int,int>pii;
const int maxn=100000+5;
const int maxm=200000+5;
const int INF=0x3f3f3f3f;
const ll mod=20010905;
int n,m;
int head[maxn],tot=1;
int in[maxn];
ll d[maxn];
queue<int>q;
struct node{
int from,to,c;
}edge[maxm];
void add(int from,int to){
edge[++tot].from=head[from],head[from]=tot,edge[tot].to=to;
}
void dp(){
d[1]=1;
q.push(1);
while(q.size()){
int x=q.front();q.pop();
for(int i=head[x];i;i=edge[i].from){
int y=edge[i].to;
d[y]=(d[y]+d[x])%mod;
if(--in[y]==0){
q.push(y);
}
}
}
printf("%lld",d[n]%mod);
}
int main() {
// ios::sync_with_stdio(false); freopen("DDoS.in","r",stdin);
scanf("%d%d",&n,&m);
int from,to,c;
for(int i=1;i<=m;i++){
scanf("%d%d%d",&from,&to,&c);
add(from,to);
in[to]++;
}
dp();
return 0;
} 反图代码 #include<iostream>
#include<cstdio>
#include<algorithm>
#include<cmath>
#include<set>
#include<map>
#include<queue>
#include<stack>
#include<vector>
#include<cstring>
#include<cstdlib>
#include<iomanip>
#include<ctime>
#include<string>
#include<bitset>
#define D(x) cout<<#x<<" = "<<x<<" "
#define E cout<<endl
using namespace std;
typedef long long ll;
typedef pair<int,int>pii;
const int maxn=100000+5;
const int maxm=200000+5;
const int INF=0x3f3f3f3f;
const ll mod=20010905;
int n,m;
int head[maxn],tot=1;
int in[maxn];
ll d[maxn];
queue<int>q;
struct node{
int from,to,c;
}edge[maxm];
void add(int from,int to){
edge[++tot].from=head[from],head[from]=tot,edge[tot].to=to;
}
void dp(){
d[n]=1;
q.push(n);
while(q.size()){
int x=q.front();q.pop();
for(int i=head[x];i;i=edge[i].from){
int y=edge[i].to;
d[y]=(d[y]+d[x])%mod;
if(--in[y]==0){
q.push(y);
}
}
}
printf("%lld",d[1]%mod);
}
int main() {
// ios::sync_with_stdio(false);
// freopen("DDoS.in","r",stdin);
scanf("%d%d",&n,&m);
int from,to,c;
for(int i=1;i<=m;i++){
scanf("%d%d%d",&from,&to,&c);
add(to,from); //反图
in[from]++;
}
dp();
return 0;
}
查看原帖
1 评论
相关推荐
牛客84762733号:3月份吧,没有offer的我感觉时间过得很漫长
点赞 评论 收藏
分享
10-25 11:03
上海理工大学 Python 点赞 评论 收藏
分享
牛客热帖
正在热议
# 25届秋招总结 #
366473次浏览 3615人参与
# 如果再来一次,你还会选择这个工作吗? #
95409次浏览 928人参与
# 北方华创开奖 #
51605次浏览 470人参与
# 地方国企笔面经互助 #
5683次浏览 13人参与
# ai智能作图 #
7406次浏览 126人参与
# 发工资后,你做的第一件事是什么 #
3271次浏览 12人参与
# 阿里云管培生offer #
44480次浏览 1092人参与
# 我的实习求职记录 #
6096394次浏览 83768人参与
# 上班到公司第一件事做什么? #
14380次浏览 164人参与
# 阿里求职进展汇总 #
71387次浏览 768人参与
# 简历被挂麻了,求建议 #
2519541次浏览 33410人参与
# 听到哪句话就代表面试稳了or挂了? #
95965次浏览 807人参与
# 华为工作体验 #
108738次浏览 851人参与
# 网易求职进展汇总 #
38687次浏览 308人参与
# 如何写一份好简历 #
614848次浏览 8691人参与
# 如果有时光机,你最想去到哪个年纪? #
26296次浏览 545人参与
# 面试体验感最好的是哪家? #
91150次浏览 891人参与
# 牛客租房专区 #
1740次浏览 68人参与
# 如何一边实习一边秋招 #
1001424次浏览 12712人参与
# 实习中的菜狗时刻 #
279592次浏览 2752人参与
# 还记得你第一次面试吗? #
27175次浏览 361人参与
# 腾讯求职进展汇总 #
203709次浏览 1683人参与