學軍OJ題解 1179 約會

2021-09-29 13:32:30 字數 1075 閱讀 7456

學軍oj,題號1179,鏈結

也可以到

小藍準備去和小紅約會,小藍和小紅居住在乙個平面直角座標系中,小藍的家在(0,0)位置,小紅的家在(a,b)位置,小藍每一步可以往上下左右中的任意乙個方向移動乙個單位,換句話說,他可以從(x,y)走 到(x+ 1,y), (x- 1,y), (x,y+ 1), (x,y- 1)中的乙個位置。

不幸的是小藍的方向感比較差,所以他每次隨機選擇了乙個方向走出去,有時候可能走著走著走回了自己的家,有時候可能已經走到了小紅的家還沒有發現,又繼續走。

幸運的是,在乙個夜黑風高的夜晚,他終於走到了小紅的家,他高興地跟小紅說,從我家到你家我走了step步,現在你幫幫小紅計算一下,從小藍的家走到小紅的家有沒有可能走step步。

輸入一行,包含三個整數,a,b,step。

輸出一行,如果可能輸出「yes」,否則輸出「no」。

0 1 3

yes我一看到題目的第一反應,就是本題考dfs。學軍中學果然牛,一級四段的題目就能涉及dfs,然後開始仔細讀題目。題目讀完後,發現不是dfs,因為沒有說到每個地方只能走一次。核心就在這裡。每個地方可以任意走。所以只是簡單的判斷。

我們簡單分析一下題目:1、目的地點永遠是(0,0)。2、給定開始地點和步數。本題就是考察開始地點到(0,0)的距離和步數的關係。每次移動的方法是上下左右中的任意乙個方向移動乙個單位,因此我們可以知道從開始地點到(0,0)的最短步數應該是 (a-0)+(b-0) 也就是 a+b。下面我們來討論一下 a+b 和step的關係:

(1)a+b > step。那麼顯然是不可能完成的任務。

(2)a+b == step。正好是最小步數。

(3)a+b < step。這裡要仔細分析,可以發現最終 (step - a - b) 如果是偶數,肯定是可以走到。如果是奇數,肯定走不到。具體可以畫圖得出。

仔細閱讀題目,會發現 a 和 b 可能是負數,負數,負數。所以計算的時候要注意負數處理。

//約會

//#include 

int main()  else if (c==step)  else  else {

printf("no\n");

return 0;

九度oj 題目1179 階乘

題目1179 階乘 時間限制 1 秒 記憶體限制 32 兆 特殊判題 否 提交 6120 解決 1785 題目描述 輸入n,求y1 1 3 m m是小於等於n的最大奇數 y2 2 4 p p是小於等於n的最大偶數 輸入 每組輸入包括1個整數 n 輸出 可能有多組測試資料,對於每組資料,輸出題目要求的...

學軍聯賽模擬 第十八測 題解

a.首先有個樸素的動態規劃思路 記 f 表示前 i 個位置 最後乙個位置的顏色是 j 的方案數。轉移要用到容斥原理 用總方案數減去 j 連續出現 a 1 次的方案數。記 g sum 則 f g g 1 f 1 j 注意到對於 a 相同的顏色顯然狀態相同 可以分批轉移。時間複雜度 o n 2 b.二分...

學軍11 29網路賽 題解 總結

題面 前一小時被迫打oi賽制。後面自身心情原因打acm賽制。a太過毒瘤,在3h多才切。d暴力題噁心死人。切abc。後面兩題甚至沒有心情打部分分,所以在切了a之後我的比賽已經結束了。300分整個機房最後一名 另外三位440,還有一位500拿rank1 一開始就想到做到後面有迴圈節並且迴圈節是2。但是在...