国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 學(xué)院 > 開(kāi)發(fā)設(shè)計(jì) > 正文

圖的基本存儲(chǔ)的基本方式二

2019-11-08 01:39:55
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

PRoblem Description

解決圖論問(wèn)題,首先就要思考用什么樣的方式存儲(chǔ)圖。但是小鑫卻怎么也弄不明白如何存圖才能有利于解決問(wèn)題。你能幫他解決這個(gè)問(wèn)題么? Input 多組輸入,到文件結(jié)尾。

每一組第一行有兩個(gè)數(shù)n、m表示n個(gè)點(diǎn),m條有向邊。接下來(lái)有m行,每行兩個(gè)數(shù)u、v代表u到v有一條有向邊。第m+2行有一個(gè)數(shù)q代表詢問(wèn)次數(shù),接下來(lái)q行每行有一個(gè)詢問(wèn),輸入兩個(gè)數(shù)為a,b。

注意:點(diǎn)的編號(hào)為0~n-1,2<=n<=500000 ,0<=m<=500000,0<=q<=500000,a!=b,輸入保證沒(méi)有自環(huán)和重邊 Output 對(duì)于每一條詢問(wèn),輸出一行。若a到b可以直接連通輸出Yes,否則輸出No。 Example Input

2 1 0 1 2 0 1 1 0

Example Output

Yes No


鄰接表存儲(chǔ)

#include <cstdio>#include <iostream>using namespace std;struct node{ int data; struct node *next;}*p,*q,*head[500001];int main(){ int m,n,u,v,a,b,t,c,d; while(cin>>n>>m) { int i; for(i=0;i<n;i++) { head[i]=NULL; } while(m--) { cin>>u>>v; if(head[u]==NULL) { head[u]=new node; head[u]->data=v; head[u]->next=NULL; } else { q=head[u]->next; p=new node; p->data=v; p->next=q; head[u]->next=p; } } cin>>t; while(t--) { int flag=0; cin>>c>>d; if(head[c]==NULL) { printf("No/n"); } else { q=head[c]; while(q) { if(q->data==d) { flag=1; break; } q=q->next; } if(flag) printf("Yes/n"); else printf("No/n"); } } } return 0;}/***************************************************User name:Result: AcceptedTake time: 120msTake Memory: 3952KBSubmit time: 2017-02-16 20:38:26****************************************************/
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 高州市| 克拉玛依市| 浠水县| 炉霍县| 渑池县| 姚安县| 沾化县| 南乐县| 大余县| 衡阳市| 浦江县| 石家庄市| 福鼎市| 承德县| 简阳市| 普陀区| 尉犁县| 宜昌市| 安康市| 张家口市| 宁都县| 龙游县| 安泽县| 广东省| 高淳县| 鄂温| 柳河县| 乐清市| 广德县| 上饶县| 平安县| 永德县| 周口市| 土默特右旗| 伊川县| 昭通市| 鹤岗市| 四川省| 洛隆县| 贵州省| 雅安市|