#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]=true
  • vis[x][y]=false
  • ans++
  • return

第 2 题

②处应填( )。

{{ select(2) }}

  • nx>=0&&nx<R
  • nx<0
  • nx==R
  • x==y

第 3 题

③处应填( )。

{{ select(3) }}

  • ny>=0&&ny<C
  • ny<0
  • ny==C
  • nx==ny

第 4 题

④处应填( )。

{{ select(4) }}

  • dfs(nx,ny)
  • dfs(x,y)
  • break
  • ans=0

第 5 题

⑤处应填( )。

{{ select(5) }}

  • ans++
  • ans--
  • vis[i][j]=false
  • continue

程序二:完善最大不相邻和

补全第 6~10 空。

dp[0] = ____⑥____;
dp[1] = ____⑦____;
for (int i = ____⑧____; i <= n; ++i) {
    dp[i] = max(____⑨____, ____⑩____);
}

第 6 题

⑥处应填( )。

{{ select(6) }}

  • 0
  • 1
  • a[0]
  • n

第 7 题

⑦处应填( )。

{{ select(7) }}

  • 0
  • a[1]
  • dp[0]+1
  • n

第 8 题

⑧处应填( )。

{{ select(8) }}

  • 0
  • 1
  • 2
  • n

第 9 题

⑨处应填( )。

{{ select(9) }}

  • dp[i-1]
  • dp[i]+1
  • a[i-1]
  • 0

第 10 题

⑩处应填( )。

{{ select(10) }}

  • dp[i-2]+a[i]
  • dp[i-1]+a[i]
  • dp[i]+a[i]
  • a[i-2]