sdut 1446 超級瑪麗

2021-09-06 08:01:00 字數 1405 閱讀 4654

超級瑪麗

題意:中文...

思路:比賽時,資料弱了,讓我乙個o(10^12)的程式都過了,後來就沒多想,加上資料後。改為o(n)的才過。列舉能跳過的雲彩數,然後對跳躍的長度d取餘求商,計算餘數+ m與l的差值(即雲彩之間的距離)在檢查看看能否跳過,如果不能,就截止在這裡不會繼續往下跳了。

注意資料型別long long

//#pragma comment(linker,"/stack:327680000,327680000")  

#include #include #include #include #include #include #include #include #include #include #include #include #include #include #define cl(arr, val) memset(arr, val, sizeof(arr))

#define ll long long

#define inf 0x7f7f7f7f

#define lc l,m,rt<<1

#define rc m + 1,r,rt<<1|1

#define pi acos(-1.0)

#define ll long long

#define l(x) (x) << 1

#define r(x) (x) << 1 | 1

#define mid(l, r) (l + r) >> 1

#define min(x, y) (x) < (y) ? (x) : (y)

#define max(x, y) (x) < (y) ? (y) : (x)

#define e(x) (1 << (x))

#define iabs(x) (x) < 0 ? -(x) : (x)int

#define out(x) printf("%i64d\n", x)

#define lowbit(x) (x)&(-x)

#define read() freopen("din.txt", "r", stdin)

#define write() freopen("dout.txt", "w", stdout);

using namespace std;

ll n[2],d[2],m[2],l[2];

int main()

} if (i >= n[0])

for (i = 0; i < n[1]; ++i)

} if (i >= n[1])

if (ct1 == ct2)

else

} return 0;

}

《超級瑪麗》3

第三階段 目標 實現水平方向和豎直方向上的碰撞,更具有真實感。1 要想解決水平方向的碰撞,就要先明白乙個問題,地圖上的哪些東西是不能夠穿過的,也就是說要先定義好地圖上的某些可供碰撞檢測的物體磚塊型別。如圖 水平檢測函式的開頭準備工作 為了簡化水平方向的檢測,因為馬里奧的錨點是中心位置,所以左右兩邊的...

C語言 超級瑪麗

演算法提高 超級瑪麗 時間限制 1.0s 記憶體限制 256.0mb 問題描述 大家都知道 超級瑪麗 是乙個很善於跳躍的探險家,他的拿手好戲是跳躍,但它一次只能向前跳一步或兩步。有一次,他要經過一條長為n的羊腸小道,小道中有m個陷阱,這些陷阱都位於整數字置,分別是a1,a2,am,陷入其中則必死無疑...

演算法提高 超級瑪麗

演算法提高 超級瑪麗 時間限制 1.0s 記憶體限制 256.0mb 問題描述 大家都知道 超級瑪麗 是乙個很善於跳躍的探險家,他的拿手好戲是跳躍,但它一次只能向前跳一步或兩步。有一次,他要經過一條長為n的羊腸小道,小道中有m個陷阱,這些陷阱都位於整數字置,分別是a 1,a2,a m,陷入其中則必死...