hdu 1596

来源:互联网 发布:数据图表制作 编辑:程序博客网 时间:2024/05/16 04:38

水题~

#include<iostream>#include<vector>#include<string>#include<algorithm>#include<queue>using namespace std;const int maxn=1024;struct zz{    int x;    int y;}zx[maxn]; float a[maxn][maxn];float b[maxn][maxn];bool vis[maxn];int n,m,x,y,now;float temp;vector<int>g[maxn];vector<int>v[maxn];queue<int>q;void build(){    for(int i=1;i<=n;i++)       {        g[i].clear();        v[i].clear();        for(int j=1;j<=n;j++)        {            if(j==i)            {                continue;            }            if(a[i][j])            {                g[i].push_back(j);            }        }    }    return ;}void spfa(int x){    while(!q.empty())    {        q.pop();    }        memset(vis,false,sizeof(vis));    vis[x]=true;    q.push(x);    a[x][x]=1.0;    b[x][x]=1.0;    while(!q.empty())    {        now=q.front();        q.pop();        for(int i=0;i<g[now].size();i++)        {            temp=b[x][now]*a[now][g[now][i]];            if(temp > b[x][g[now][i]])            {                b[x][g[now][i]]=temp;                if(!vis[g[now][i]])                {                    vis[g[now][i]]=true;                    q.push(g[now][i]);                }                           }           }            vis[now]=false;    }    return ;} int main(){    while(scanf("%d",&n)!=EOF)    {        for(int i=1;i<=n;i++)        {            for(int j=1;j<=n;j++)            {                b[i][j]=0;                scanf("%f",&a[i][j]);            }        }        build();        scanf("%d",&m);         for(int i=1;i<=m;i++)        {            scanf("%d%d",&zx[i].x,&zx[i].y);            v[zx[i].x].push_back(zx[i].y);        }        for(int i=1;i<=n;i++)        {            if(v[i].size())            {                spfa(i);            }        }        for(int i=1;i<=m;i++)        {            if(b[zx[i].x][zx[i].y])            {                printf("%.3f\n",b[zx[i].x][zx[i].y]);            }               else            {                printf("What a pity!\n");            }            }    }        return 0;}


原创粉丝点击