Gravatar
SOBER GOOD BOY
积分:2019
提交:588 / 930
回复 @智霞Forever :
#include<iostream>
#include<cstdlib>
#include<queue>
#include<cstdio>
#include<ctime>
#include<cstdio>
#include<cstring>
const int maxn=110;
int m,n,len=0,head[maxn],dis[maxn][maxn];
const int maxe=maxn*maxn;
using namespace std;
struct node
{
int num,dis;
node(){};
node(int a,int b)
{
num=a,dis=b;
}
bool operator < (const node&a)const
{
return dis>a.dis;
}
};
struct Edge
{
int dis,to,next;
}e[maxe];
void Dijs(int);
void Init();
void Insert(int,int,int);
int main()
{
Init();
Dijs(0);
//while(1);
return 0;
}
void Init()
{
memset(head,-1,sizeof(head));
memset(dis,0,sizeof(dis));
memset(e,0,sizeof(e));
cin>>n>>m;
for(int i=1;i<=m;i++)
{
int x,y,z;
cin>>x>>y>>z;
Insert(x,y,z);
Insert(y,x,z);
}
}
void Insert(int x,int y,int z)
{
len++;
e[len].to=y;
e[len].dis=z;
e[len].next=head[x];
head[x]=len;
}
void Dijs(int x)
{
int d[maxn];
memset(d,0x7f,sizeof(d));
bool f[maxn]={0};
priority_queue<node> q;
d[x]=0;
q.push(node(x,d[x]));
while(!q.empty())
{
node temp=q.top();q.pop();
int k=temp.num;
f[k]=1;
for(int i=head[k];i!=-1;i=e[i].next)
{
int j=e[i].to;
if(!f[j]&&d[j]>d[k]+e[i].dis)
{
d[j]=d[k]+e[i].dis;
q.push(node(j,d[j]));
}
}
}
for(int i=0;i<n;i++)
{
dis[x][i]=d[i];
}
}

Gravatar
SOBER GOOD BOY
积分:2019
提交:588 / 930
回复 @智霞Forever :
#include<iostream>
#include<cstdlib>
#include<queue>
#include<cstdio>
#include<ctime>
#include<cstdio>
#include<cstring>
const int maxn=110;
int m,n,len=0,head[maxn],dis[maxn][maxn];
const int maxe=maxn*maxn;
using namespace std;
struct node
{
int num,dis;
node(){};
node(int a,int b)
{
num=a,dis=b;
}
bool operator < (const node&a)const
{
return dis>a.dis;
}
};
struct Edge
{
int dis,to,next;
}e[maxe];
void Dijs(int);
void Init();
void Insert(int,int,int);
int main()
{
Init();
Dijs(0);
//while(1);
return 0;
}
void Init()
{
memset(head,-1,sizeof(head));
memset(dis,0,sizeof(dis));
memset(e,0,sizeof(e));
cin>>n>>m;
for(int i=1;i<=m;i++)
{
int x,y,z;
cin>>x>>y>>z;
Insert(x,y,z);
Insert(y,x,z);
}
}
void Insert(int x,int y,int z)
{
len++;
e[len].to=y;
e[len].dis=z;
e[len].next=head[x];
head[x]=len;
}
void Dijs(int x)
{
int d[maxn];
memset(d,0x7f,sizeof(d));
bool f[maxn]={0};
priority_queue<node> q;
d[x]=0;
q.push(node(x,d[x]));
while(!q.empty())
{
node temp=q.top();q.pop();
int k=temp.num;
f[k]=1;
for(int i=head[k];i!=-1;i=e[i].next)
{
int j=e[i].to;
if(!f[j]&&d[j]>d[k]+e[i].dis)
{
d[j]=d[k]+e[i].dis;
q.push(node(j,d[j]));
}
}
}
for(int i=0;i<n;i++)
{
dis[x][i]=d[i];
}
}

题目 397 [USACO Oct09] 热浪
2016-01-17 17:13:11
Gravatar
Sky_miner
积分:2788
提交:902 / 1646
都没有人发现样例输入、输出写反了吗???

Gravatar
Hzoi_
积分:1676
提交:530 / 743
为啥自己测样例就对了,提上去就错= =

Gravatar
Sky_miner
积分:2788
提交:902 / 1646
。。。把“热浪”加了几行代码就过了。。。

Gravatar
SOBER GOOD BOY
积分:2019
提交:588 / 930

Gravatar
Hzoi_
积分:1676
提交:530 / 743
回复 @bbbsssyyyxxx :
呃。。。偷懒大法好

题目 637 排序测试
2016-01-17 15:41:35
Gravatar
0
积分:2003
提交:530 / 1238
@zys 太神辣

Gravatar
Hzoi_
积分:1676
提交:530 / 743
看不懂英文,智商压制= =

页面 8 [COGS] 个性头像
2016-01-16 21:34:38
Gravatar
Riolu
积分:1074
提交:435 / 772
回复 @LitDream :
鬼子六就是鬼子六

Gravatar
0
积分:2003
提交:530 / 1238
回复 @zys :
OrzOrzOrz

题目 468 [NOI 2010]超级钢琴
2016-01-16 18:26:26
Gravatar
liu_runda
积分:2884
提交:1014 / 2190
注意是无向图,边表要开到最大边数的两倍。

Gravatar
Hzoi_
积分:1676
提交:530 / 743
把max写成min,智商压制= =

题目 4 双服务点设置
2016-01-16 08:48:07
Gravatar
Hzoi_
积分:1676
提交:530 / 743
看完第一的代码,我也就不说什么了

题目 2134 字符串加密
2016-01-16 08:39:24
Gravatar
liu_runda
积分:2884
提交:1014 / 2190
len1打成len2错一半。。。

题目 38 增强的减法问题
2016-01-16 08:15:47
Gravatar
SOBER GOOD BOY
积分:2019
提交:588 / 930
,,,,,,,,,,,,,,,,,,,,,

Gravatar
/k
积分:1686
提交:345 / 543
后缀自动机首题留念

Gravatar
mikumikumi
积分:4120
提交:830 / 1893
由于cojs评测姬的速度比SGU慢,所以时限放到5S。

Gravatar
xbwcan
积分:379
提交:132 / 257
输出路径其实可以很简单。

Gravatar
Dream
积分:569
提交:246 / 644
没编译器跪了好几次orz

题目 2134 字符串加密
2016-01-15 15:53:32