藍橋杯 倍數問題 深搜dfs

2021-09-12 15:36:00 字數 934 閱讀 6491

【題目描述】

眾所周知,小蔥同學擅長計算,尤其擅長計算乙個數是否是另外乙個數的倍數。但小蔥只擅長兩個數的情況,當有很多個數之後就會比較苦惱。現在小蔥給了你 n 個數,希望你從這 n 個數中找到三個數,使得這三個數的和是 k 的倍數,且這個和最大。資料保證一定有解。

【輸入格式】

從標準輸入讀入資料。

第一行包括 2 個正整數 n, k。

第二行 n 個正整數,代表給定的 n 個數。

【輸出格式】

輸出到標準輸出。

輸出一行乙個整數代表所求的和。

【樣例輸入】

4 31 2 3 4

【樣例輸出】

9【樣例解釋】

選擇2、3、4。

【資料約定】

對於 30% 的資料,n <= 100。

對於 60% 的資料,n <= 1000。

對於另外 20% 的資料,k <= 10。

對於 100% 的資料,1 <= n <= 10^5, 1 <= k <= 10^3,給定的 n 個數均不超過 10^8。

資源約定:

峰值記憶體消耗(含虛擬機器) < 256m

cpu消耗  < 1000ms

請嚴格按要求輸出,不要畫蛇添足地列印類似:「請您輸入...」 的多餘內容。

所有**放在同乙個原始檔中,除錯通過後,拷貝提交該原始碼。

不要使用package語句。不要使用jdk1.7及以上版本的特性。

主類的名字必須是:main,否則按無效**處理。

**:

public class 倍數問題_9 

} else

}} }

public static void main(string args)

dfs(0);

system.out.println(max);

}}

藍橋杯 剪格仔(C )(深搜DFS問題)

問題描述 如下圖所示,3 x 3 的格仔中填寫了一些整數。10 1 52 20 30 1 1 2 3 我們沿著圖中的星號線剪開,得到兩個部分,每個部分的數字和都是60。本題的要求就是請你程式設計判定 對給定的m x n 的格仔中的整數,是否可以分割為兩個部分,使得這兩個區域的數字和相等。如果存在多種...

藍橋杯 方格填數(dfs深搜)

如下的10個格仔 填入0 9的數字。要求 連續的兩個數字不能相鄰。左右 上下 對角都算相鄰 一共有多少種可能的填數方案?請填寫表示方案數目的整數。注意 你提交的應該是乙個整數,不要填寫任何多餘的內容或說明性文字。思路 直接暴力列舉每個位置可不可以安放 include include include ...

藍橋杯 湊算式 遞迴 dfs深搜 全排列

湊算式.c cheese created by 廖啟帆 on 2018 12 15.b def a 10 c ghi 這個算式中a i代表1 9的數字,不同的字母代表不同的數字。比如 6 8 3 952 714 就是一種解法,5 3 1 972 486 是另一種解法。這個算式一共有多少種解法?湊算式...