zoukankan      html  css  js  c++  java
  • 洛谷 P2196 挖地雷 & [NOIP1996提高组](搜索,记录路径)

    传送门


    解题思路

    就是暴力!!!

    没什么好说的,总之,就是枚举每一个起点,然后暴力算一遍以这个点为起点的所有路径,在算的过程中,只要比目前找到的答案更优,就有可能是最后的答案,于是就把路径更新一遍,保证不错过正确答案。

    由于数据很水<21,所以放心暴力!

    AC代码

     1 #include<iostream>
     2 #include<cstring>
     3 using namespace std;
     4 int n,m[21][21],maxx[21];
     5 int a[21],sans[21],now[21],ans,nows;
     6 void dfs(int x,int value,int step){
     7     now[step]=x;
     8     if(value>ans){
     9         for(int i=1;i<=step;i++) sans[i]=now[i];
    10         ans=value;
    11         nows=step;
    12     }
    13     maxx[x]=a[x];
    14     for(int i=1;i<=n;i++){
    15         if(m[x][i]&&maxx[i]==-1){
    16             dfs(i,value+a[i],step+1);
    17             maxx[i]=-1;
    18         }
    19     }
    20 }
    21 int main()
    22 {
    23     cin>>n;
    24     for(int i=1;i<=n;i++) cin>>a[i];
    25     for(int i=1;i<=n;i++){
    26         for(int j=i+1;j<=n;j++){
    27             char c;
    28             cin>>c;
    29             if(c=='1') m[i][j]=1;
    30         }
    31     }
    32     for(int i=1;i<=n;i++){
    33         memset(maxx,-1,sizeof(maxx));
    34         dfs(i,a[i],1);
    35     }
    36     for(int i=1;i<=nows;i++) cout<<sans[i]<<" ";
    37     cout<<endl<<ans;
    38     return 0;
    39 }

    //NOIP1996提高组 t3

  • 相关阅读:
    Java Singleton 单例模式
    android 让真机显示 DeBug Log调试信息
    android 图片处理经验分享
    android GridView 的使用 实现多项选择
    Spark/Storm/Flink
    Https
    Netty
    Netty
    java 线程状态相关测试
    Socket buffer 调优相关
  • 原文地址:https://www.cnblogs.com/yinyuqin/p/11854206.html
Copyright © 2011-2022 走看看