| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1478 人关注过本帖
标题:完善程序,请各位帮忙看看,用c++不要用c语音
取消只看楼主 加入收藏
Jason_
Rank: 2
来 自:浙江台州
等 级:论坛游民
帖 子:88
专家分:66
注 册:2019-7-14
结帖率:66.67%
收藏
已结贴  问题点数:5 回复次数:0 
完善程序,请各位帮忙看看,用c++不要用c语音
以1×2的多米诺骨牌去覆盖n×m的棋盘,当棋盘中的每一格都刚好被一块多米诺骨牌覆盖时,这种覆盖叫多米诺骨牌的完美覆盖。例如,2行3列的棋盘,有3种
以下程序求得n×m棋盘的完美覆盖总方案数。程序从第1行第1列开始,按照1行1列、1行2列、1行3列、…、1行m列、2行1列、2行2列、2行3列、…、2行m列、…n行1列、n行2列、n行3列、…、n行m列的次序,逐格尝试各格子的不同覆盖方案。以f[i][j]=0表示第i行j列格子还没有被覆盖,以f[i][j]=1表示第i行j列格子被横向覆盖,以f[i][j]=2表示第i行j列格子被纵向覆盖,覆盖的总方案数在变量ans中求得。
#include<iostream>
using namespace std;
const int maxn=100,maxm=100;
int n,m,i,j,ans;
int f[maxn+1][maxm+1];
void domino(int i,int j)
{
    if(i>n) {
        ____6______;
        return;
    }
    if(______7_________)
    {
        if (j<m)
        domino(i,j+1);
      else
        domino(_____8_____);
    }
    else
    {
        if(j<m&&_____9_______){
            f[i][j]=1;
           f[i][j+1]=1;
            if (j<m)  domino(i,j+1);
               else domino(_____8_____);
            f[i][j]=0;f[i][j+1]=0;
        }        
       if(i<n&&______10_______){
              f[i][j]=2;
          f[i+1][j]=2;
          if (j<m) domino(i,j+1)
              else domino(_____8_____);
          f[i][j]=0;f[i+1][j]=0;
       }
    }
}
int main()
{
    cin>>n>>m;
    for(i=1;i<=n;i++)
      for(j=1;j<=m;j++) f[i][j]=0;
    ans=0;
    domino(_____1,n______);
    cout<<ans;
    return 0;
}
搜索更多相关主题的帖子: 棋盘 c++ int 方案 格子 
2019-09-13 23:20
快速回复:完善程序,请各位帮忙看看,用c++不要用c语音
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016773 second(s), 11 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved