#P1425. 【Day6】半场专项测成组完善程序(10题)
【Day6】半场专项测成组完善程序(10题)
程序一:完善网格连通块
补全第 1~5 空。
void dfs(int x,int y){
____①____;
for(int k=0;k<4;k++){
int nx=x+dx[k],ny=y+dy[k];
if(____②____ && ____③____ && !vis[nx][ny] && a[nx][ny]=='1')
____④____;
}
}
for(int i=0;i<R;i++) for(int j=0;j<C;j++)
if(a[i][j]=='1' && !vis[i][j]) { ____⑤____; dfs(i,j); }
第 1 题
①处应填( )。
{{ select(1) }}
vis[x][y]=truevis[x][y]=falseans++return
第 2 题
②处应填( )。
{{ select(2) }}
nx>=0&&nx<Rnx<0nx==Rx==y
第 3 题
③处应填( )。
{{ select(3) }}
ny>=0&&ny<Cny<0ny==Cnx==ny
第 4 题
④处应填( )。
{{ select(4) }}
dfs(nx,ny)dfs(x,y)breakans=0
第 5 题
⑤处应填( )。
{{ select(5) }}
ans++ans--vis[i][j]=falsecontinue
程序二:完善最大不相邻和
补全第 6~10 空。
dp[0] = ____⑥____;
dp[1] = ____⑦____;
for (int i = ____⑧____; i <= n; ++i) {
dp[i] = max(____⑨____, ____⑩____);
}
第 6 题
⑥处应填( )。
{{ select(6) }}
01a[0]n
第 7 题
⑦处应填( )。
{{ select(7) }}
0a[1]dp[0]+1n
第 8 题
⑧处应填( )。
{{ select(8) }}
012n
第 9 题
⑨处应填( )。
{{ select(9) }}
dp[i-1]dp[i]+1a[i-1]0
第 10 题
⑩处应填( )。
{{ select(10) }}
dp[i-2]+a[i]dp[i-1]+a[i]dp[i]+a[i]a[i-2]