1211. 商人的宣传
2011-04-23 14:04 Min·zc 阅读(207) 评论(0) 编辑 收藏 举报开始用BFS超时了。看了一下书,换了DP但是也不是很快,跑了0.38
---------------------------------------------------------------------------------------------------------
1 #include <iostream>
2 #include <queue>
3 #include <memory.h>
4 using namespace std;
5 int road[110][110];
6 long long tem[110][110];
7 int n,m,l;
8 int A,B;
9 struct STA
10 {
11 int d;
12 int n;
13 };
14 void ini()
15 {
16 memset(road,0,sizeof(road));
17 cin>>n>>m>>l;
18 for(int i=0;i<m;i++)
19 {
20 int a,b;
21 cin>>a>>b;
22 road[a][b]=1;
23 }
24
25 }
26 long long dp()
27 {
28 memset(tem,0,sizeof(tem));
29 tem[0][A]=1;
30 for(int i=1;i<=l;i++)
31 for(int j=1;j<=n;j++)
32 for(int k=1;k<=n;k++)
33 if(road[k][j]==1)
34 tem[i][j]+=tem[i-1][k];
35
36 return tem[l][B];
37 }
38 int main()
39 {
40 ini();
41 int k;
42 cin>>k;
43 while(k--)
44 {
45 cin>>A>>B;
46 cout<<dp()<<endl;
47 }
48 }