zoukankan      html  css  js  c++  java
  • jzoj 1274. 游历的路线(lines.pas/cpp)

    这题DP,考场时把数组给开小了。。。
    设f[i][j]表示在第j天到了城市i的最小花费。
    输出f[n][m]即可。
    时间复杂度O(n2m)
    上标:

    #include<cstdio>
    #include<cstring>
    #include<algorithm>
    using namespace std;
    int n,m,a[110][110][21],x;
    int c[110][110],f[110][210];
    
    inline int read()
    {
    	int x=0; char c=getchar();
    	while (c<'0' || c>'9') c=getchar();
    	while (c>='0' && c<='9') x=(x<<1)+(x<<3)+(c^48),c=getchar();
    	return x;
    }
    
    int main()
    {
    	freopen("lines.in","r",stdin);
    	freopen("lines.out","w",stdout);
    	n=read(),m=read();
    	for (int i=1;i<=n;i++)
    		for (int j=1;j<=n;j++)
    		{
    			if (i==j) continue;
    			c[i][j]=read();
    			for (int k=1;k<=c[i][j];k++)
    				a[i][j][k]=read();
    		}
    	memset(f,10,sizeof(f));
    	f[1][0]=0;
    	for (int k=1;k<=m;k++)
    		for (int i=1;i<=n;i++)
    			for (int j=1;j<=n;j++)
    			{
    				if (i==j) continue;
    				x=a[i][j][(k-1)%c[i][j]+1];
    				if (!x) continue;
    				f[j][k]=min(f[j][k],f[i][k-1]+x);
    			}
    	if (f[n][m]==f[0][0]) puts("0");
    	else printf("%d
    ",f[n][m]);
    	return 0;
    }
    
    转载需注明出处。
  • 相关阅读:
    gulp模块编译
    微擎数据库表-T
    微信小程序自动识别姓名电话地址
    PHPBase64格式编码图片
    HTML中Data的数据类型
    EPP状态码
    WePay-T
    HTML-T
    PHPNamespace命名空间
    jQuery:jQuery简介
  • 原文地址:https://www.cnblogs.com/jz929/p/11817637.html
Copyright © 2011-2022 走看看