晚間測試 1

2022-02-03 08:04:16 字數 796 閱讀 1269

在 \(n\) 行 \(m\) 列的棋盤上,放若干個炮可以是 \(0\) 個,使得沒有任何乙個炮可以攻擊另乙個炮。請問有多少種放置方法,中國像棋中炮的攻擊方式大家應該很清楚吧,需要隔一顆棋子攻擊。

如果是下一行乙個不放,那麼就直接轉移就可以了。

如果是下一行放乙個,那麼可能在j列中選擇乙個位置去放,也可能在k個位置中選擇乙個去放。

如果下一行可以放兩個,那麼可以在j列中選兩個,或者在k列中選兩個,或者j列中乙個,k列中乙個

//dp[i][j][k] 表示現在放到了第i行,還有j列可以放1個,k列可以放兩個

/* cinput

1 3*/

/*output7*/

#include using namespace std;

#define int long long

inline int read()

const int maxn = 105, mod = 9999973;

int n, m, ans = 0, col[maxn], row[maxn], dp[maxn][maxn][maxn];

void dfs(int cur)

}signed main() }}

int ans = 0;

for (int i = 0; i <= m; i++)

for (int j = 0; j <= m - i; j++)

ans = (ans += dp[n][i][j]) % mod;

cout << ans << endl;

}

2023年9月15日晚間測試 T1

t1 題目描述 一開始你有乙個數s,你可以通過兩種操作改變這個值 1.給這個數加a 2.給這個數乘b 問最少多少步操作可以使s變成t。輸入格式 一行4個數,分別代表s,t,a,b。資料範圍 118118 218這道題比較噁心了,看到1018的資料範圍可能就會想到這是不是數學,然後搜刮腦子裡那少的可憐...

晚間測試3 B 單 single

單車聯通大街小巷.這就是出題人沒有寫題目背景的原因.對於一棵樹,認為每條邊長度為 1 每個點有乙個權值 a i dis u,v 為點 u 到 v 的最短路徑的邊數.dis u,u 0 對每個點求出乙個重要程度.點 x 的重要程度 b x 定義為其他點到這個點的距離乘上對應的點權再求和.即 b x a...

如何保障晚間的高效工作

寫程式很費腦子。沒錯,是這樣的。白天忙乎一天之後,晚上需要接著寫 這種情景在創業型團隊中格外明顯 但是,經過了白天的 消耗 後,晚上的精神無法專注,容易分神,效率明顯下降。長時間的呆在室內,會增長抑鬱情緒。大家可能會有這樣的感受,在週末,本想在家好好放鬆放鬆,哪都不去,就宅在屋子裡。在電腦前娛樂了一...