2018 藍橋杯省賽 A 組模擬賽 蒜頭君下棋

2021-08-17 16:38:07 字數 889 閱讀 7626

題意:乙個n*m的棋盤上讓你放馬,馬和馬之間不能攻擊。問能放多少匹馬。

題解:最開始是以為是一道搜尋題。然後一看資料範圍。瞬間懵逼。發現這道題,是個規律題。而且規律錯綜複雜。死活沒有思路。然後我們隊裡的dalao告訴我。你看一眼西洋棋的棋盤你就能明白這道題了。然後我就看了一下棋盤,發現如下規律

當 n == 1 || m == 1 時

結果為 n和m的最大值。

當 m == 2 時 n為偶數時

結果同上

當 m == 2 時 n為奇數時

結果為 上面的結果+1 (樣例為 2 5 結果為 6,這一組卡了我10年) 

n==2的情況和上面m==2的情況相同

其餘情況 為 黑色格仔 和白色格仔多的。為結果。

放乙份能ac這道題 ,但是不對的**。(別問我為什麼能ac這道題,因為我對拍出來的)

#include #includeusing namespace std;

const int maxn = 1050;

int mp[maxn][maxn];

int main()

}else }}

}// freopen("e:\\duipai\\data.txt","r",stdin);

// freopen("e:\\duipai\\out2.txt","w",stdout);

int z = 1000000;

// while(z--)

else if(n == 2 || m == 2)

else if(m%4!=0)

printf("%d\n",ans);

} else

else printf("%d\n",n*m/2+1);

} }}

2018 藍橋杯省賽 A 組模擬賽 矩陣求和

題意 我們把矩陣中的每條邊的中點連起來,這樣形成了乙個新的矩形,請你計算一下這個新的矩形的覆蓋的數字的和。題解 模擬。把不在中點連線的點刪去,然後統計和。當行數 51時i行的個數比i 1行多二。當行數 51時i行比i 1行少二。然後模擬過程。結果 26020201 includeusing name...

2018 藍橋杯省賽 B 組模擬賽(一)

給你乙個序列,請你在其中求出一段最長嚴格上公升的部分,它不一定要連續。include includeusing namespace std int f 10000 b 10000 int lis int n res max res,f i return res 1 int main printf d...

2018藍橋杯省賽C C B組

第四題 鷹蛋問題 ppt tls講解 講的很棒,但屬於較難的啊qaq 方法一 時間複雜度n 3 n 2logn 定義 dp i j 用i個蛋在j層樓上最壞情況下確定e所需要的最小次數 轉移 dp i j min max dp i 1 w 1 dp i j w 1 1 w j i log2 n 1 直...