• 矩阵乘法——hdu2157


    裸的矩阵乘法

    注意点:

    步数为0时,A,B点相同时路有1条

    步数为0时,A,B点不相同时路有条0条

    View Code
    #include<stdio.h>
    #include
    <string.h>

    struct data
    {
    int map[29][29];
    }mat[
    29];

    int main()
    {
    int n,m;
    while(scanf("%d%d",&n,&m),n||m)
    {
    int i,j;
    memset(mat,
    0,sizeof(mat));
    for(i=0;i<n;i++)
    {
    for(j=0;j<n;j++)
    {
    mat[
    0].map[i][j]=0;
    mat[
    1].map[i][j]=0;
    }
    }
    for(i=0;i<m;i++)
    {
    int a,b;
    scanf(
    "%d%d",&a,&b);
    mat[
    1].map[a][b]=1;
    mat[
    0].map[a][b]=1;
    }
    int t;
    scanf(
    "%d",&t);

    int s,k;
    for(s=2;s<=20;s++)
    {
    for(i=0;i<n;i++)
    {
    for(j=0;j<n;j++)
    {
    int all=0;
    for(k=0;k<n;k++)
    {
    all
    +=(mat[0].map[i][k]*mat[s-1].map[k][j])%1000;
    }
    mat[s].map[i][j]
    =all%1000;
    }
    }
    }

    for(i=0;i<t;i++)
    {
    int a,b,c;

    scanf(
    "%d%d%d",&a,&b,&c);
    if(c==0&&(a!=b)){printf("0\n");continue;};//注意点
    if(c==0&&(a==b)){printf("1\n");continue;};//
    printf("%d\n",mat[c].map[a][b]%1000);
    }
    }
    return0;
    }

      

  • 相关阅读:
    PTA9
    PTA8
    第七周
    第六周
    第五周
    PTA4
    2019第三次作业
    第十周课程总结
    第九周课程总结&实验报告(七)
    第八周课程总结&实验报告(六)
  • 原文地址:https://www.cnblogs.com/huhuuu/p/2115822.html
Copyright © 2020-2023  润新知