丁丁最近沉迷於乙個數字遊戲之中。這個遊戲看似簡單,但丁丁在研究了許多天之後卻發覺原來在簡單的規則下想要贏得這個遊戲並不那麼容易。遊戲是這樣的,在你面前有一圈整數(一共n個),你要按順序將其分為m個部分,各部分內的數字相加,相加所得的m個結果對10取模後再相乘,最終得到乙個數k。遊戲的要求是使你所得的k最大或者最小。
例如,對於下面這圈數字(n=4,m=2):
要求最小值時,((2-1) mod 10)×((4+3) mod 10)=1×7=7,要求最大值時,為((2+4+3) mod 10)×(-1 mod 10)=9×9=81。特別值得注意的是,無論是負數還是正數,對10取模的結果均為非負值。
丁丁請你編寫程式幫他贏得這個遊戲。
輸入格式:
輸入檔案第一行有兩個整數,n(1≤n≤50)和m(1≤m≤9)。以下n行每行有個整數,其絕對值不大於10^4104 ,按順序給出圈中的數字,首尾相接。
輸出格式:
輸出檔案有兩行,各包含乙個非負整數。第一行是你程式得到的最小值,第二行是最大值。
輸入樣例#1:
4 243輸出樣例#1:-12
781
1 #include 2 #include 3 #includeview code4 #include 5 #include 6
7using
namespace
std;
8int circle[60],n,m;//
n num m part
9int maxn=0,minn=9999;10
int tmpnow=1;11
12int pow(int k,int
n)17
18int mod(int
n)22
23void dfs(int first,int layer,int res)
37int reslayer=m-layer;
38 reslayer=res-reslayer;
39int tmpsum=0;40
for(int i=0;i)
4149}50
51int
main()
52
有一點比較重要的是略微用了下剪枝(但不知道不用能不能過,感覺差不多其實,都挺暴搜的)
一開始因為在做除法的時候沒有當心,有除數是0的資料,於是re
應該可以用dp做,有時間再補
luoguP1043數字遊戲
丁丁最近沉迷於乙個數字遊戲之中。這個遊戲看似簡單,但丁丁在研究了許多天之後卻發覺原來在簡單的規則下想要贏得這個遊戲並不那麼容易。遊戲是這樣的,在你面前有一圈整數 一共n個 你要按順序將其分為m個部分,各部分內的數字相加,相加所得的m個結果對10取模後再相乘,最終得到乙個數k。遊戲的要求是使你所得的k...
CODE VS 1043 方格取數
code vs 1043 方格取數 設有n n的方格圖 n 10,我們將其中的某些方格中填入正整數,而其他的方格中則放入數字0。某人從圖的左上角的a 點出發,可以向下行走,也可以向右走,直到到達右下角的b點。在走過的路上,他可以取走方格中的數.此人從a點到b 點共走兩次,試找出2條這樣的路徑,使得取...
codevs 1043 方格取數
設有n n的方格圖 n 10,我們將其中的某些方格中填入正整數,而其他的方格中則放入數字0。如下圖所示 見樣例 某人從圖的左上角的a 點出發,可以向下行走,也可以向右走,直到到達右下角的b點。在走過的路上,他可以取走方格中的數 取走後的方格中將變為數字0 此人從a點到b 點共走兩次,試找出2條這樣的...