20.时空跳跃者的魔法

时空跳跃者的魔法

时间限制: 1 s

空间限制: 32000 KB

题目等级 : 白银 Silver

题解

查看运行结果

题目描述 Description

背景:suntian正准备将飞翔带回圣殿,不料一声巨响,suntian的三维时空被飞翔炸开,飞翔再次出现在suntian面前,两人同时出手……随着两人昏天暗地的打斗,时空开始扭曲并产生波动,影响了suntian施咒,然而就是这一下,飞翔抓住了时机,释放巨大的能量将suntian送入了一个扭曲的四维时空……

描述:为了快一点追到飞翔,suntian希望在最短的时间内逃出这个四维时空。

他马上集中精力,在0.0000000000000001ms之内找到了这个时空的奇点。令他吃惊的是,这个空间竟然有n个奇点!这让suntian摸不着头脑。但作为圣殿战士,suntian也不是吃素的,他在冥思苦想之后得出了一个结论:只有在某个奇点处用咒术将其他n-1个奇点拉到这个奇点,才能将奇点打开。但是,将奇点拉拽到另一个奇点耗费的能量不同。能量W为:trunc(sqrt((x1-x2)^2+(y1-y2)^2+(z1-z2)^2))+abs(t1-t2) Tas。奇点拉在一起将被合并,suntian可以先把某些奇点合并再拉到他所处的奇点。为了抓捕到飞翔,suntian想用最少的能量来打开奇点,但是suntian能量已经所剩不多了。那么,suntian能否逃脱呢?

输入描述 Input Description

第一行,为n(0。

第2至n+1行,为每行的坐标x,y,z,t(0<=10^4,x,y,z,t∈N)。 第n+2行,为suntian剩余能量L(0。

输出描述 Output Description

共一行。

如果所用最少能量tot>L,那么输出“Death”;

否则,输出tot。(tot

样例输入 Sample Input

5

1 1 1 1

1 1 1 2

2 2 2 2

3 3 3 3

3 3 3 4

5Tas

样例输出 Sample Output

5Tas

代码:

#include

using namespace std;

#include

#include

#include

#include

#include//trunc ==floor

#define maxn 1001//ji dian shu

struct Point{

int x,y,z,t;

};

Point point[maxn];

long long l,tot,k=0;

int t=0;

struct Edge{

int u,v;

int w;

};

Edge edge[maxn*maxn];

int n,father[maxn];

void input();

void kruskal();

void turn1();

int main()

{

input();

turn1();

kruskal();

if(tot>l)

{

printf("Death\n");

return 0;

}

printf("%lldTas\n",tot);

return 0;

}

int cmp(const Edge &a,const Edge &b)

{

return a.w

}

int find(int x)

{

if(father[x]!=x) father[x]=find(father[x]);

return father[x];

}

void unionn(int a,int b)

{

father[b]=a;

}

void kruskal()

{

for(int i=1;i<=n;++i)

father[i]=i;

tot=0;

sort(edge+1,edge+t+1,cmp);

for(int i=1;i<=t;++i)

{

int r1=find(edge[i].u);

int r2=find(edge[i].v);

if(r1!=r2)

{

unionn(r1,r2);

k++;

tot+=edge[i].w;

if(k==n-1)return;

}

}

}

void input()

{

scanf("%d",&n);

for(int i=1;i<=n;++i)

scanf("%d%d%d%d",&point[i].x,&point[i].y,&point[i].z,&point[i].t);

scanf("%lld",&l);

}

void turn1()

{

t=0;

for(int i=1;i<=n;++i)

for(int j=1;j<=n;++j)

{

edge[++t].u=i;

edge[t].v=j;

edge[t].w=sqrt(pow(point[i].x-point[j].x,2 )+pow(point[i].y-point[j].y,2)+pow(point[i].z-point[j].z,2))+abs(point[i].t-point[j].t);

//trunc(sqrt((x1-x2)^2+(y1-y2)^2+(z1-z2)^2))+abs(t1-t2) Tas

}

}

时间: 2024-10-11 21:56:40

20.时空跳跃者的魔法的相关文章

[CODEVS3323]时空跳跃者的封锁

不错的基础dp 首先建立两个三维数组,一个记录map[i][j][k]=sum为坐标(i,j,k)的点权值为sum, 另一个数组初值为0,dp转移方程:f[i][j][k]:=max(f[i-1][j][k],f[i][j-1][k],f[i][j][k-1]); 代码 var f,map:array[0..101,0..101,0..101] of longint; i,j,k,l,m,n,x,y,z,sum:longint; function max(a,b,c:longint):longi

cocos2dx基础篇(21)——基本动作CCAction

[唠叨] 在电影里,角色的运动就是动作.而在游戏里,动画就是角色的动作了.例如人物走动.跳跃.释放魔法,鸟儿飞翔,车轮滚动等.动作是游戏中不可或缺的重要组成部分,使得游戏更具魅力,变得丰富活力. cocos2dx引擎为我们提供了十分丰富的动作系统.在本节主要讲讲cocos2dx动作系统中最基本的动作. 本节内容比较多,需要慢慢消化-- [致谢] http://gl.paea.cn/contents/fdb2fb923944b2e6.html <Cocos2D-X游戏开发技术精解>刘建卓 著(别

购买李宁Cocos2d-x套餐,送最新出的《Cocos2d-x游戏实战指南》签名书一本

活动时间:2016-10-18至2016-11-30 通过本套餐,可完全了解Cocos2d-x 3.x的相关技术,以及掌握C++语言,并具有一定的项目实战经验. Cocos2d-x游戏开发套餐:http://edu.51cto.com/pack/view/id-114.html <Cocos2d-x游戏实战指南>封面 本书月底出版,触控科技副总裁Jane.微软开放体验和合作事业部开发技术顾问梅颖广.51CTO学院运营总监曹亚莉.哈尔滨工业大学  王峥  联袂推荐 目录 第1章     初识CO

bzoj2262: 平行宇宙与虫洞

Description 量子力学指出,宇宙并非只有一种形态. 根据量子理论,一件事件发生之后可以产生不同的后果,而所有可能的后果都会形成自己的宇宙. 我们可以把一个宇宙看成一个时间轴,虫洞可以看成不同宇宙的不同时间之间的跳跃.虫洞非常的不稳定,存在时间只有一瞬间. 如果存在虫洞事件(U1,t1,U2,t2)那么在宇宙U1的t1时间和宇宙U2的t2时间会被连接,此时就会发生时空跳跃现象. 你可以认为:同一个宇宙同一个时刻最多只存在一个虫洞事件. 为了研究虫洞的性质,科学家向宇宙深处发射了虫洞探测器

漫长的婚约影评

漫长的婚约影评 一.首先,从电影的情节和内容了解这部电影:法国女孩玛蒂尔德在童年三岁时从梯子上摔落,从此落下残疾,成了跛子.她与儿时同伴马纳什两小无猜,青梅竹马.光阴荏苒,长大成人的两人更是情深意笃.随着第一次世界大战的蔓延,马纳什应征入伍,参军之前,马纳什和玛蒂尔德已顶下了婚约. 在炮火纷飞的法国索姆前线,马纳什和其他四名惧怕战争的青年集体开枪打伤自己的双手,希望以此逃脱血腥的恶梦.他们的行径后来被人发现,并受到了军事法庭的审判.这五名逃避战争的伤兵被发配到德法两军之间的蛮荒之地接受惩罚,交战

CSU 2079 觉醒!MACROSS!

觉醒!MACROSS! 描述 西元2999年,一颗不明的巨大"流星"坠落在位于地球上的CSU(California State University)校园内.为此全世界的专家蜂拥而至,对此展开了密集研究.经过调查证实这其实是一艘外星人的宇宙船!之後世界的某些强国为了将其修复并弥补坠落时对地球环境所造成的破坏而组成了统合政府,交由新组建的地球统合军将其改造成为全长1200公尺的超大型主力战舰,并将其命名为MACROSS.此时CSU的名声也已响彻海内外,新成立的宇宙军事学院成为众多舰队军官

萌新向Python数据分析及数据挖掘 第二章 pandas 第二节 Python Language Basics, IPython, and Jupyter Notebooks

Python Language Basics, IPython, and Jupyter Notebooks In [5]: import numpy as np #导入numpy np.random.seed(12345)#设定再现的的随机数 np.set_printoptions(precision=4, suppress=True) #设置打印设置 Signature: np.set_printoptions(precision=None, threshold=None, edgeitem

u近一年很变态个v分

http://ypk.39.net/search/all?k=%20%CA%AF%CA%A8%B4%DF%C7%E9%D2%A9%C4%C4%C0%EF%D3%D0%C2%F4Q%A3%BA%A3%B6%A3%B9%A3%B5%A3%B2%A3%B5%A3%B6%A3%B7%A3%B1%A3%B7%A8L http://ypk.39.net/search/all?k=%A1%FD%CF%C9%D3%CE%B4%DF%C7%E9%D2%A9%C4%C4%C0%EF%D3%D0%C2%F4Q%A3%

第三章 魔法传送(下)依旧是1100

第三章 魔法传送(下)  “fuck!不在这个世界,一切就白忙活了!没有雷霆之子,雷霆之国真的要亡国了吗?”雷昂着急了,原本偏黑的脸立刻变白了.   “唉,我也没办法呀,天神就不给雷霆之国一条活路吗!”此时奥尔夫显得苍老了更多,原本的银发都要掉光了,脸更加惨白,双眼深深地凹进去,脸上的皱纹已经数不清了.毕竟他耗去150岁的生命呀!  “没有其他办法吗?”这是一直没说话的二长老奥兰多发了句话.她是为女性,也一百多岁了,是奥尔夫的妻子,她有深绿色的眼睛,皮肤极白,头发是浅蓝色的,即使100多岁,看起