zoukankan      html  css  js  c++  java
  • POJ 1321 深搜dfs

    思路其实挺简单的,为什么我想不到呢!!!

    原因分析:(1)题目还是做少了

         (2)做题目的时候在放音乐

         (3)最近脑袋都不愿意想思路总是想一些无用的

    改进:(1)以后做题目坚决不开音乐,QQ直接挂隐身

       (2)想题目的时候一定要认真,开启完全状态

       (3)对自己再认真一点,加油

     1 #include<cstdio>
     2 #include<cstring>
     3 const int qq=10;
     4 char map[qq][qq];
     5 int vis[qq];
     6 int n,k,ans;
     7 void dfs(int colu,int num)
     8 {
     9     if(num==k){
    10         ++ans;
    11         return;
    12     }
    13     for(int j,i=colu;i<n;++i)            
    14         for(j=0;j<n;++j)
    15             if(map[i][j]=='#'&&!vis[j]){
    16                 vis[j]=1;                //对列进行标记 
    17                 dfs(i+1,num+1);            //因为要求不在一行,所以对行进行枚举 
    18                 vis[j]=0;
    19             }
    20     return;
    21 }
    22 int main()
    23 {
    24     while(~scanf("%d %d%*c",&n,&k)&&(n!=-1))
    25     {    
    26         memset(vis,0,sizeof(vis));
    27         for(int i=0;i<n;++i)
    28             gets(map[i]);
    29         ans=0;
    30         dfs(0,0);
    31         printf("%d
    ",ans);
    32     }
    33 }
  • 相关阅读:
    2.操作系统基础
    6.Linux基础3
    DRAM 内存介绍(一)
    131127新的一天
    Java中的super关键字何时使用
    JAVA的引用类型变量(C/C++中叫指针)
    System.out.println()的含义
    Java面试题
    HTML基础知识
    子域名查找
  • 原文地址:https://www.cnblogs.com/sasuke-/p/5179201.html
Copyright © 2011-2022 走看看