首页 > 学院 > 开发设计 > 正文

jzoj P1135 【2011.12.10普及模拟】泽泽在中国

2019-11-06 07:42:38
字体:
来源:转载
供稿:网友

题目描述

众所周知,在中国有个地方叫“万里长城”。

泽泽一天后山玩,在捉蟋蟀的时候,忽然看见一个奇怪的洞。泽泽好奇,就钻了进去,结果……

泽泽来到中国万里长城上。长城的城墙很高,泽泽翻墙翻不出去。后面的路又被堵住了,于是泽泽只有一个选择:向前走。

泽泽向前一看,看见一块牌子,牌子上写道:

若要离开此地,就爬出长城吧。

泽泽无语。平时泽泽最不擅长的就是长跑,现在天不遂人愿,他遇上了麻烦。但是没有别的去路,于是他硬着头皮爬起来。

泽泽爬一个单位距离需要一个单位时间。但是这座长城年久失修,地上出现了很多的坑和杂草堆。泽泽在这些地方爬行需要更长的时间。

现在泽泽知道这座长城的长度,以及哪些地方有坑和杂草堆,请算出泽泽需要多少时间才能爬出长城。

输入

第1行2个整数s,n。s表示长城的长度,n表示有多少坑和杂草堆。

之后的n行,每行3个整数ai,bi,ti。表示从ai到bi的一段每个单位距离泽泽需要ti的时间。泽泽在没有坑和杂草堆的地方每个单位距离需要时间1。(保证长度没有重合的)

输出

一个整数,即泽泽爬出的时间。

样例输入

20 5

2 4 2

6 7 4

8 10 2

11 11 5

17 20 5

样例输出

52

简单的模拟: 每次输入一段路,就加上比原先走这段的时间(y-x+1)多出来的时间花费。 时间复杂度:O(N)

var i,x,y,z,s,n:longint;begin assign(input,'china.in'); reset(input); assign(output,'china.out'); rewrite(output); readln(s,n); for i:=1 to n do begin readln(x,y,z); s:=s+(y-x+1)*(z-1); end; writeln(s); close(input); close(output);end.
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表