建國的簽到活動一

2021-09-10 02:47:17 字數 1262 閱讀 9525

題目描述

建國發現在某寶上發現了乙個簽到活動,這個簽到活動進行了n天,不過這個活動的積分計算方法很特殊,積分是根據你連續簽到的第一天和最後一天計算的。主辦 方會給你乙個積分表,表中會給出所有的a[i][j](a[i][j]表示第i天到第j天全都簽過到,且第i-1天與第j+1天沒有簽到時你可以得到的積 分,若不滿足所有條件則無法獲得該積分)。建國剛剛查詢了一下自己這n天的簽到記錄,想請你幫他計算一下這n天總共得到多少積分。

輸入

第一行輸入乙個正整數n,表示活動的天數。(1 <= n <= 200)

接下來輸入n行n列整數,第i行j列表示a[i][j]。(當i>j時,a[i][j]沒有實際意義,用-1來表示無意義。當i<=j時,1 <= a[i][j] <= 1000)

最後一行輸入n個數字,表示x從第一天到第n天的簽到記錄,1表示當天簽過到,0表示當天沒有簽到,資料保證只有0和1。

輸出

輸出建國可以得到的總積分。

樣例輸入

55 4 3 2 1

-1 4 3 2 1

-1 -1 3 2 1

-1 -1 -1 2 1

-1 -1 -1 -1 1

1 1 0 1 0

樣例輸出

6提示

第1天到第2天連續簽到,可以得到積分4;

第4天到第4天連續簽到,可以得到積分2;

所以這n天總共可以得到6積分。

思路:

自定區間,判斷條件

ac**:

#include

const

int maxn =2*

1e2+5;

using namespace std;

int dp[maxn]

[maxn]

, vis[maxn]

;int

main()

}for

(int i =

1; i <= n; i++

)int ans =0;

for(

int i =

1; i <= n; i++)if

(vis[i]

&&!vis[i+1]

)}cout << ans << endl;

}

ZZULI 建國的簽到活動二 DFS

時間限制 1 sec 記憶體限制 128 mb 建國發現在某寶上即將開始第二波簽到活動,這次簽到活動會進行n天。這次活動的積分計算方法和上一次活動一樣,積分是根據你連續簽到的第一天和最後一天計算的。主辦方會給你乙個積分表,表中會給出所有的a i j a i j 表示第i天到第j天全都簽過到,且第i ...

建國的穿越

建國今天正在吃披薩,突然被傳送到乙個異次元世界,他發現這裡是乙個沒有邊界的二維世界,而他只有找到可以傳送他的傳送門才能順利地回到自己的世界,但是這個異次元世界中存在著許多無法穿過的環形魔法陣,魔法陣內的人無法出來,魔法陣外的人也無法進去。現在給你建國的位置,傳送門的位置以及魔法陣的範圍,請你告訴建國...

建國的尋寶之旅

題目描述 建國在元旦假期出去進行尋寶活動,在路上偶遇了也在尋寶的印第安納 瓊斯,於是他們組隊去尋寶。到達藏寶圖上的目標地點之後,他們發現洞穴的入口處有個機關,聰明的建國很快就發現了破解這個機關的方法。機關是這樣的 機關的旁邊有一張正方形石板,上面有著n x n的格仔,每個格仔裡都有乙個鏤空的符號。這...