zoukankan      html  css  js  c++  java
  • 洛谷P2802 回家

    贱呼呼的搜索题

    这个最贱的还是在于路途的标记,大部分的题目路途的标记是直接标记即可也就是说我走过了这个点,那么这个点标记上以后不再走,这个题不是,我走过了,但是我可能回了血我又继续走

    所以说我们标记的规则是如果当前血量大于标记点标记的血量那么可以去走,初始标记点的血量为0

    代码

    #include <bits/stdc++.h>
    using namespace std;
    int sum,mp[666][666],n,m,bk[666][666];
    void dfs(int x,int y,int re)
    {
      if(x>n)
      {
        sum=max(sum,re);
        return;
      }
      int xx=x,yy=y+1;
      if(yy>m)
      yy=1,xx++;
      if(!bk[x][y]&&!bk[x-1][y]&&!bk[x-1][y-1]&&!bk[x-1][y+1]&&!bk[x][y-1]&&!bk[x][y+1]&&!bk[x+1][y]&&!bk[x+1][y-1]&&!bk[x+1][y+1])
      {
        bk[x][y]=1;
        dfs(xx,yy,re+mp[x][y]);
        bk[x][y]=0;
      }
      dfs(xx,yy,re);
    }
    int main()
    {
      ios::sync_with_stdio(0);
      cin.tie(0);
      cout.tie(0);
      int t;
      cin>>t;
      while(t--)
      {
        sum=0;
        memset(bk,0,sizeof(bk));
        cin>>n>>m;
        for(int i=1;i<=n;i++)
        for(int j=1;j<=m;j++)
        cin>>mp[i][j];
        dfs(1,0,0);
        cout<<sum<<"
    ";
      }
    }
    
  • 相关阅读:
    POJ3764 The xorlongest Path
    POJ1733 Parity game
    POJ3301 Texas Trip
    POJ2135 Farm Tour
    POJ2516 Minimum Cost
    Mem478
    PROJECTEULER48
    POJ1201 Intervals
    CSS 伪元素 (Pseudoelements)
    JQuery显示隐藏层
  • 原文地址:https://www.cnblogs.com/baccano-acmer/p/10353763.html
Copyright © 2011-2022 走看看