本题的基本思路是想地杰斯特拉找出最短路,然后用广搜找出有多少个路
这个题很让人崩溃,刚开始一直runtime error 搞得我一头雾水,高了半天,我map初始化的语句该做条件表达式就过了,不解
今天大奔又弄个runtime error 问我类,我昨天在自己的电脑上交了,回头他交不了,我愣了愣,后来才发现得用c++提交,依然无解
#include#include #define MAX 1000010//#define MAX_1 1001int map[1001][1001],dis[1001];int res[1001];int n,m;bool visit[1001];void dijkstra(int k){ int u,i,j,min,x; for(i=1;i<=n;++i) { visit[i]=false; dis[i]=map[2][i]; } visit[2]=true; if(min==MAX) return ; for(i=2;i<=n;++i) { min=MAX; for(j=1;j<=n;++j) { if(!visit[j]&&min>dis[j]) { u=j; min=dis[j]; } } visit[u]=true; for(x=1;x<=n;++x) { if(!visit[x]&&dis[x]>dis[u]+map[x][u]) { dis[x]=dis[u]+map[x][u]; } } }}int find(int v){ int i; if(res[v]!=-1) return res[v]; if(v==2) return 1; res[v]=0; for(i=1;i<=n;++i) { if(map[i][v]!=MAX && dis[i]