前言座右銘:talk is easy,show me the code.
我們生活在幸福的時代,我們都站在巨人的肩膀上看世界
問題 2275: [藍橋杯][2023年第九屆真題]三體攻擊時間限制: 1sec 記憶體限制: 128mb 提交: 53 解決: 0
題目描述 三體人將對地球發起攻擊。為了抵禦攻擊,地球人派出了 a × b × c 艘戰艦,在太空中排成乙個 a 層 b 行 c列的立方體。其中,第 i 層第 j 行第 k 列的戰艦(記為戰艦 (i, j, k))的生命值為 d(i, j, k)。
三體人將會對地球發起 m 輪「立方體攻擊」,每次攻擊會對乙個小立方體中的所有戰艦都造成相同的傷害。具體地,第 t **擊用 7 個引數
lat, rat, lbt, rbt, lct, rct, ht 描述; 所有滿足
i ∈ [lat, rat],j ∈ [lbt, rbt],k ∈ [lct, rct] 的戰艦 (i, j, k) 會受到 ht
的傷害。如果乙個戰艦累計受到的總傷害超過其防禦力,那麼這個戰艦會**。
地球指揮官希望你能告訴他,第一艘**的戰艦是在哪一**擊後**的。
輸入 從標準輸入讀入資料。 第一行包括 4 個正整數 a, b, c, m; 第二行包含 a × b × c 個整數,其中第((i − 1)×b + (j − 1)) × c + (k − 1)+1 個數為 d(i, j, k); 第 3 到第 m + 2
行中,第 (t − 2) 行包含 7 個正整數 lat, rat, lbt, rbt, lct, rct, ht。
輸出 輸出到標準輸出。 輸出第乙個**的戰艦是在哪一**擊後**的。保證一定存在這樣的戰艦。 樣例輸入2 2 2 3
1 1 1 1 1 1 1 1
1 2 1 2 1 1 1
1 1 1 2 1 2 1
1 1 1 1 1 1 2
樣例輸出 2**示例:
如果使用動態申請記憶體而直接使用三維陣列,想必一定不會通過。
#include
#include
intmain()
; //不行啊,太暴力了
int*
**s=
(int**
*)malloc
(a*sizeof
(int**
));for
(i=0
;i}while
(m--)}
}}}printf
("%d\n"
,ans)
;return0;
}
問題 2276: [藍橋杯][2023年第九屆真題]全球變暖時間限制: 1sec 記憶體限制: 128mb 提交: 257 解決: 52
題目描述 你有一張某海域nxn畫素的**,".「表示海洋、」#"表示陸地,如下所示:….##…
.##…
…##.
…####.
…###.
…其中"上下左右"四個方向上連在一起的一片陸地組成一座島嶼。例如上圖就有2座島嶼。
由於全球變暖導致了海面上公升,科學家**未來幾十年,島嶼邊緣乙個畫素的範圍會被海水淹沒。具體來說如果一塊陸地畫素與海洋相鄰(上下左右四個相鄰畫素中有海洋),它就會被淹沒。
例如上圖中的海域未來會變成如下樣子:……
………#……
…請你計算:依照科學家的**,**中有多少島嶼會被完全淹沒。
輸入 第一行包含乙個整數n。 (1 <= n <= 1000)以下n行n列代表一張海域**。
**保證第1行、第1列、第n行、第n列的畫素都是海洋。 輸出 乙個整數表示答案。
輸出 乙個整數表示答案。 **保證第1行、第1列、第n行、第n列的畫素都是海洋。
樣例輸入7….##…
.##…
…##.
…####.
…###.
…
樣例輸出1
解題目**:
#include
#include
intmain()
}if( i!=
0&&i!=n+1)
getchar()
;}// for(i=0;i<=n+1;i++)
// // printf("\n");
// }
//輸出
for(i=
1;i<=n;i++)}
printf
("%d\n"
,ans)
;return0;
}
遺憾的是,第一題這樣來解只通過89%(總不會是錯誤89%吧)
第二題這樣解題超時29%
由於水平有限,本部落格難免有不足,懇請各位不吝賜教!
關於動態記憶體申請的部落格
動態記憶體 malloc 動態申請記憶體 int arr int malloc n sizeof int int arr n 定義乙個n長度的陣列 如果要使用,需引用標頭檔案 需注意 1.棧的大小1m,可配 2.堆的分配的最大連續塊1.2g calloc動態申請記憶體,並將裡面的值置為0 int a...
C語言動態記憶體申請分析
1 c語言中的一切操作都是基於記憶體的 2 變數和陣列都是記憶體的別名 1 記憶體分配由編譯器在編譯期間決定 2 定義陣列的時候必須指定陣列的長度 3 陣列的長度是在編譯期間就必須確定的 1 malloc和free用於執行動態記憶體分配和釋放 2 malloc所分配的是一塊連續的記憶體 3 mall...
指向指標的指標申請動態記憶體
在 高質量c程式設計指南 中,提到了如果函式的引數是乙個指標,那麼別指望它能申請動態記憶體。如下 include include void getmemory char p,int num int main void getmemory char p,int num 最後的輸出的stu的結果是0,即...