10676 塗鴉跳躍(sort)

2022-05-03 22:00:13 字數 2792 閱讀 9358

該題有題解

時間限制:1000ms  記憶體限制:65535k

提交次數:240 通過次數:19

題型: 程式設計題   語言: g++;gcc

你玩過曾經風靡一時的手機遊戲塗鴉跳躍嗎?

這是個很簡單的小遊戲,我們的主角彈簧小怪物會不知疲倦地往上跳,而我們需要做的就是控制他的方向,跳得越高得分也越高。

有一天,sirius突然想到乙個問題,假如給定乙個起始平台和終止平台,那麼彈簧小怪物是否能夠借助一系列平台從起始平台跳到終止平台呢?

我們假定螢幕的左下角是直角座標系的原點(0,0),往右則x值增大,往上則y值增大。螢幕的最右端的座標是x = m。

每個平台表示為[x1, x2, y],分別為平台的左端點x值、右端點x值以及高度,當然平台是平行於x軸的。彈簧小怪物在

豎直方向上最多可以跳h,在水平方向上最多可以跳w,豎直跳和水平跳是可以同時進行的。由於遊戲畫面的移動,小怪物

是不能跳到比它當前所在平台低的平台的,但是可以跳到當前所在平台的任何位置。小怪物可以穿越螢幕左邊到達右側,

也可以穿越螢幕右邊到達左側,當然穿越跳也要受到水平彈跳力w的限制。為了簡化題目,我們假定只要在小怪物彈跳能力

範圍內的平台都是可以到達的,即使乙個平台恰好擋在另乙個平台的上方!並且,我們不考慮平台的厚度,小怪物看作乙個點,

不同平台不會有重疊部分。到達終止平台的任何位置,我們都認為它已經到達。

第一行只有乙個正整數t,表示題目共有t組資料

接下來是t組資料。每組資料的第一行是4個正整數n、m、w、h,分別表示平台個數、螢幕最右端的x座標、小怪物的水平跳躍能力、

小怪物的豎直跳躍能力,2 <= n <= 1000,0 < w < m <= 10000,0 < h < 1000。接下來n行,每一行有

三個正整數x1 x2 y(m >= x2 > x1 >= 0, 10000 >= y >= 0),分別表示平台的左端點x值、右端點x值以及高度。

在這n行中,第一行表示的是起始平台,最後一行表示的是終止平台,平台的高度不一定按順序排列。

如果小怪物能從起始平台到達終止平台,輸出yes;否則輸出no。

3

5 100 20 20

1 5 0

25 81 20

1 4 40

5 6 19

1 3 50

2 100 20 20

0 5 0

80 100 100

3 100 20 20

0 5 0

3 7 3

8 14 10

yes

noyes

當穿越的時候,我們認為螢幕最左側x=0和螢幕最右側x=m是等價的。比如樣例輸入1,第1個平台可以跳到第2個和第4個,

第2個平台可以跳到第3個(穿越跳,100-81+1-0=20<=w=20),第3個可以跳到第5個,第4個可以跳到第2個。故答案是yes。

by sirius 

admin

題意大概是給你n條線段,有個物體可以往上和左右進行跳躍,並且限制了跳躍的範圍,問能否從起始線段跳到終止線段。

大概題解寫在**注釋上:

#include #include 

#include

#include

#include

#include

#include

#include

#include

#include

#define x first

#define y second

#define clr(u,v); memset(u,v,sizeof(u));

using

namespace

std;

typedef

long

long

ll;typedef pair

pii;

const

int maxn=1010

;const

int inf=0x3f3f3f3f

;struct

node

}n[maxn];

intn,m,w,h;

//判斷線段j能否到達線段i

bool ok(int i,int

j)

else

if (n[j].x-w<0

) else

return0;

}int

main()

n[0].flag=1;//

起始邊可以到達

sort(n,n+n);

//暴力列舉高度比當前線段高度低的邊,且該邊可以被到達,判斷當前線段能否被到達

for (int i=1;i) }}

//看下標為n-1的邊(排序前的最後一條線段)能否被到達,可以的話輸出yes,否則輸出no

for (int i=0;i) }}

return0;

}/*32 100 1 100

80 99 100

0 5 0

2 100 1 100

80 99 0

0 5 100

2 100 1 100

0 5 0

80 99 100

*//*

noyes

yes*/

網路塗鴉時代

幾天前剛安裝了msn7.0,發現上面多了乙個 個人空間 的選項,上去一看原來是乙個類似於blog的東東。昨天經同事介紹來到了這裡,居然也能註冊個人專欄。看來網際網路將進入 網路塗鴉時代 我是1997年大學畢業,畢業後就在一家高校內的軟體公司工作,同時也接觸到了網際網路。應該說還算是比較早的,當時的網...

塗鴉技術棧

最近仔細研究了一下塗鴉平台,它的乙個定位就是物聯網中臺,提供物聯網的底層服務 讓其他所有裝置接入到塗鴉物聯網平台,也就是說,裝置之間的互動都是先連到塗鴉物聯網平台,通過這個平台中轉下傳遞資料。塗鴉地產技術棧 塗鴉與阿里物聯網平台有什麼區別呢?塗鴉,提供平台,小的物聯裝置,比如插座,檯燈 大的物聯裝置...

塗鴉物聯網足跡 塗鴉雲平台介面列表

前序系列文章 塗鴉物聯網足跡 塗鴉雲平台介面說明 我們系列文章,都會圍繞如何完成一款智慧型 隔空接吻機 的開發。希望能幫到各異地戀 or異國戀的情侶們!本文我們會大概講解api介面列表 介面列表及介面說明 授權管理 說明 access token 有時間限制,無次數限制 而 refresh toke...