How many ways??
来源:互联网 发布:手机淘宝联盟怎么用 编辑:程序博客网 时间:2024/06/18 14:03
春天到了, HDU校园里开满了花, 姹紫嫣红, 非常美丽. 葱头是个爱花的人, 看着校花校草竞相开放, 漫步校园, 心情也变得舒畅. 为了多看看这迷人的校园, 葱头决定, 每次上课都走不同的路线去教室, 但是由于时间问题, 每次只能经过k个地方, 比方说, 这次葱头决定经过2个地方, 那他可以先去问鼎广场看看喷泉, 再去教室, 也可以先到体育场跑几圈, 再到教室. 他非常想知道, 从A 点恰好经过k个点到达B点的方案数, 当然这个数有可能非常大, 所以你只要输出它模上1000的余数就可以了. 你能帮帮他么?? 你可决定了葱头一天能看多少校花哦
接下来的T行, 每行有三个整数 A, B, k, 表示问你从A 点到 B点恰好经过k个点的方案数 (k < 20), 可以走重复边。如果不存在这样的走法, 则输出0
当n, m都为0的时候输入结束
4 40 10 21 32 320 3 20 3 33 60 11 00 22 01 22 121 2 10 1 30 0
2013
#include<stdio.h>#include<string.h>#include<algorithm>using namespace std;int a[25][25];int dp[25][25];int main(){ int n,m,t,i,j,k,l,s,e,ss,ee; while(scanf("%d%d",&n,&m),n|m) { memset(a,0,sizeof(a)); for(i=1;i<=m;i++) { scanf("%d%d",&s,&e); a[s+1][e+1]=1; } scanf("%d",&t); while(t--) { memset(dp,0,sizeof(dp)); scanf("%d%d%d",&ss,&ee,&k); ss++;ee++; dp[0][ss]=1; for(i=1;i<=k;i++)//参观的景点数 { for(j=1;j<=n;j++)//起点 { for(l=1;l<=n;l++)//终点 { if(a[j][l]) dp[i][l]=(dp[i][l]+dp[i-1][j])%1000;//参观景点l为第 i 个景点的路数 } } } printf("%d\n",dp[k][ee]); } } return 0;}
#include<stdio.h>#include<string.h>int s[25][25],sum[25][25],rr[25][25];int n;int juzhen(int a,int b,int k){ int x;int c[25][25];int i,j,l; for(i=0;i<n;i++) { for(j=0;j<n;j++) { rr[i][j]=s[i][j]; sum[i][j]=0; } sum[i][i]=1; } while(k>0) { if(k%2!=0) { for(i=0;i<n;i++) for(j=0;j<n;j++) { x=0; for(l=0;l<n;l++){ x=(x+rr[l][j]*sum[i][l])%1000;} c[i][j]=x; } for(i=0;i<n;i++) for(j=0;j<n;j++) sum[i][j]=c[i][j]; } for(i=0;i<n;i++) { for(j=0;j<n;j++) { x=0; for(l=0;l<n;l++) { x=(x+rr[i][l]*rr[l][j])%1000; } c[i][j]=x; } } for(i=0;i<n;i++) for(j=0;j<n;j++) rr[i][j]=c[i][j]; k=k/2; } return sum[a][b];}int main(){ int m,i,A,B,z,k,x,y; while(scanf("%d%d",&n,&m)!=EOF) { if(m+n==0){break;} memset(s,0,sizeof(s)); for(i=0;i<m;i++) { scanf("%d%d",&x,&y); s[x][y]=1; } scanf("%d",&z); while(z--) { scanf("%d%d%d",&A,&B,&k); printf("%d\n",juzhen(A,B,k)%1000); } } return 0;}
阅读全文
0 0
- hdu1978 How many ways
- How many ways??
- How many ways
- HDU1978--How many ways
- hdu1978 How many ways
- How many ways-dp
- hdu how many ways
- hdu1978 How many ways
- How many ways
- How many ways??
- How many ways
- hdu1978:How many ways
- How many ways
- hdu2157 How many ways??
- hdu1978 How many ways
- hdu2157 How many ways?
- [HDU1978]-How many ways
- Hdu1978 How many ways
- AndroidStudio布局
- 如何在fedora25上开热点
- Android 中 AutoCompleteTextView和MultiAutoCompleteTextView的区别以及用法
- 输入、输出流以及文件操作(I/O、File)
- QuickSort
- How many ways??
- 《step4:tiny-spring-ioc学习四》——读取xml配置来初始化bean
- 老版本彻底解决Android 应用方法数不能超过65K的问题
- SpringMVC下net.sf.json.JSONObject陷阱
- VideoFrame发送的起点
- Javaee----02----前端知识概述
- vim + youcomplete安装方法
- 学习U3d官方项目——Space Shooter
- HTTP Status 500