⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 2873266_ac_15ms_292k.cc

📁 做的POJ的一些题目
💻 CC
字号:
#include<iostream>
#include<math.h>
using namespace std;
int sum=0;
int n,k;
int x[8];
char mg[8][8];
bool place(int f)
{
   for(int j=0;j<f;j++)
     if(x[j]==x[f])
           return false;
     return true;         
}
void backtrack(int t,int count)
{
    if(count==k)
    {
      sum++;
      return;
    }
    if(t>=n || (n-t)+count<k)
      return;
    for(int i=0;i<n;i++)
    {
             x[t]=i;
             if(mg[t][i]=='#' && place(t))
               backtrack(t+1,count+1);;     
    }
    x[t]=-1;
    backtrack(t+1,count); 
}
int main()
{
    while(true)
    {
       scanf("%d %d",&n,&k);
       if(n==-1 && k==-1)
         break;
       for(int i=0;i<n;i++)
          scanf("%s",mg[i]);
       backtrack(0,0);
       printf("%d\n",sum);
       sum=0;
    }
    system("pause");
    return 0;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -