1321棋盘

无人久伴 提交于 2020-03-24 15:03:44
// 1321.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include<iostream>using namespace std;char q[10][10];bool row_used[10];int count,num_p;int k,n;void DFS(int i){    if(num_p==k)    {        count++;        return;    }    if(i>n)        return;        for(int j=1;j<=n;j++)    {        if(q[i][j]=='#'&&!row_used[j])        {            row_used[j]=true;            num_p++;            DFS(i+1);            row_used[j]=false;            num_p--;                    }            }    DFS(i+1);//i行不放棋子}int main(){    while(cin>>n>>k)    {        count=0;        num_p=0;        memset(row_used,0,10*sizeof(row_used[0]));        if(n==-1&&k==-1)            break;        for(int i=1;i<=n;i++)            for(int j=1;j<=n;j++)            {                cin>>q[i][j];            }        DFS(1);        cout<<count<<endl;    }    system("pause");    return 0;}
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!