方法一: 鴿巢原理
解題思路: n個數,,依次求其s[0],s[1],s[2],s[3]。。。。。s[n] 然後對 n取模,,必然會得到n+1個結果,,這n+1個結果放到0---n-1,這n個盒子中,必然會有重複的,所以這兩個重複的之間,必然就是所求的結果。
1 #include 2 #include3using
namespace
std;
4intn;5
int sum [10002];6
int s[10002];7
intselect[10002];8
intmain()926
}27return0;
28 }
方法二: 深搜
搜尋,還真是強大啊。。雖然比較麻煩,,但是確實基本的解法。。一點更要掌握。
1 #include2using
namespace
std;
3int s[10002];4
intn;
5int
cnt;
6bool dfs(int sum,int
cur)
12for(i=cur+1;i<=n;i++)
18 cnt--;19}
20return
false;21
}22intmain()
ZJNU 2356 六學家
選出來三個六學家,他們的編號是i j k,滿足i所以輸入第i個數a i 時,直接讓答案加上前i 1個數中能構成差值為a i 的數量即可 然後讓此時輸入的數作為上式中的a j ,將i 1到1作為a i ,列出i 1個可能的a k 存起來即可 時間複雜度為o n 2 includeusing names...
洛谷 P2356 彈珠遊戲
元宵節不放假挺鬱悶的,於是時間機智的改到了星期6一整天! medalplus 和他的小夥伴 noirp 發掘了一個骨灰級別的遊戲 超級彈珠。 遊戲的內容是 在一個 n n 的矩陣裡,有若干個敵人,你的彈珠可以摧毀敵人,但只 能攻擊你所在的行 列裡的所有敵人,然後你就可以獲得他們的分數之和,現在請你選...
洛谷 P2356 彈珠遊戲 題解
自我感覺應該沒有用結構體做的吧 這道題其實非常水 很適合初學貪心的同學做一下 我好像沒有用貪心做,嘻嘻 首先先讀題, 題目中說這個遊戲只能消滅當前所在位置的行 列的敵人 首先特判一下 if tt 1 for int j 1 j n j maxn max maxn sum1 第一層是列舉所有的落腳點 ...