poj 2356

2022-08-05 15:27:19 字數 712 閱讀 3424

方法一:  鴿巢原理

解題思路:  n個數,,依次求其s[0],s[1],s[2],s[3]。。。。。s[n]  然後對 n取模,,必然會得到n+1個結果,,這n+1個結果放到0---n-1,這n個盒子中,必然會有重複的,所以這兩個重複的之間,必然就是所求的結果。

1 #include 2 #include3

using

namespace

std;

4intn;5

int sum [10002];6

int s[10002];7

intselect[10002];8

intmain()926

}27return0;

28 }

方法二: 深搜

搜尋,還真是強大啊。。雖然比較麻煩,,但是確實基本的解法。。一點更要掌握。

1 #include2

using

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 第一層是列舉所有的落腳點 ...