1062终于给出来了
来源:互联网 发布:原油库存数据公布 编辑:程序博客网 时间:2024/05/11 15:34
http://acm.pku.edu.cn/JudgeOnline/problem?id=1062
用DIJ算法,注意到等级的不同,等级差为M,那么一次设M+1个区间,使酋长都在之内,再依次独立的计算最小值,很明显可以用一个for循环;
用结构体存每一位人的物品的钱,用t[Max]存每一为的等级。
具体算法如下
#include<iostream>
#include<cmath>
using namespace std;
const int Max=100;
#define INF 10000000
struct w
{
int statu;
int m;
}s[Max];
int M;
int b[Max][Max];
int t[Max];
void DIJ(int N);
int main()
{
freopen("in.txt","r",stdin);
int N,P,L,X,i,j,xx,yy;
cin>>M>>N;
for( i=0; i<N; i++)
{
s[i].m=0;
for( j=0; j<N; j++)
b[i][j]=INF;
}
for( i=0; i<N; i++)
{
cin>>P>>L>>X;
s[i].m=P;
t[i]=L;
s[i].statu =L;
for( j=0; j<X; j++)
{
cin>>xx>>yy;
b[i][xx-1]=yy;
}
}
DIJ(N);
return 0;
}
void DIJ(int N)
{
int i,v,w,min,j,mt,k,temp[Max][Max],end(s[0].m);//end最大唯没有换的时候
int final[Max]={0};
int d[Max];
final[0]=1;
mt=t[0];//mt为酋长的等级
for(k=0; k<=M; k++)//每种范围都比较过去
{
for( i=0; i<N; i++)
for( j=0; j<N; j++)
temp[i][j]=b[i][j];
for( i=1; i<N; i++)
if(t[i]<mt-M+k||t[i]>mt+k)//不再范围内
{
for( j=0; j<N; j++)//所有和i有关的给点都删去
{
temp[i][j]=INF;
temp[j][i]=INF;
}
}
for( v=0; v<N; v++)
{
d[v]=temp[0][v];//之前些为b[0][v]给wa了n次
final[v]=0;
}
v=0;
final[v]=1;
d[v]=INF;
for( i=1; i<N; i++)
{
min=100000;
for( w=0; w<N; w++)
if( !final[w]&&d[w]<min)
{v=w;min=d[w];}
final[v]=1;
for( w=0; w<N; w++)
if(!final[w]&&(min+temp[v][w]<d[w]))
{
d[w]=min+temp[v][w];
}
}
for( i=0; i<N; i++)
for( j=0; j<N; j++)
temp[i][j]=0;
//cout<<min<<endl;
min=INF;
for( i=0; i<N; i++)
if((d[i]+s[i].m)<min&&d[i]!=INF)
{
min=d[i]+s[i].m;
j=i;
}
if(min<end)
end=min;
}
cout<<end<<endl;
}
- 1062终于给出来了
- FireFox 终于来了?
- 雪终于来了
- 终于又来了
- 终于站起来了
- 燃油税终于来了
- 终于来了!!!
- 我终于来了
- 终于来了这个.............
- 终于住进来了
- 终于来了
- 终于找回来了。
- 偶MM终于来了
- 终于又活过来了....
- 终于又爬上来了
- 终于,春天还是来了
- 这一天终于来了
- “这一天终于来了”
- 新版《鹿鼎记》火热上映 片头曲《怎么忽然就成了这样》倍受追捧
- wengophone编译太累,继续研究局域网 网速监控系统!
- http://www.blogjava.net/killme2008/archive/2007/02/20/100243.html
- LuaTinker:清晰简单的lua的封装.及其中的陷阱
- 让SOA落地 金蝶中间件助银川ESB平台
- 1062终于给出来了
- PPStream自动优化内存
- java学习笔记5
- PPStream链接智能控制
- 公布下SQL Server 2008 RC0英文版下载地址
- fedora core6 忘记root密码如何修复
- 打造高速的工作平台
- [高考作文] 秋细雨VS叶闲花
- Asp.net Mvc Framework在.net 2.0/IIS6下运行,补全