循环日程表问题 通过递归实现
来源:互联网 发布:sql server restoring 编辑:程序博客网 时间:2024/06/05 23:01
通过递归实现循环日程表#include <cstdio>
#include <iostream>
#include <cmath>
#include <cstring>
#include <string>
#include <cstdlib>
#include <algorithm>
#include <stack>
#include <queue>
#include <map>
#include <set>
#include <tgmath.h>
#define MAX 10000
using namespace std;
int bound[MAX][MAX];
int calcu(int n)
{
int num = 1;
while(n--)
{
num *= 2;
}
return num;
}
void color(int num)
{
if(num == 1)
{
bound[0][0] = 1;
return;
}
else
{
num = num/2;
color(num);
for(int i = num;i<2*num;i++)
for(int j = num;j<2*num;j++)
{
bound[i][j] = bound[i-num][j-num];
}
for(int i=num;i<2*num;i++)
for(int j = 0;j<num;j++)
{
bound[i][j] = bound[i-num][j] + num;
}
for(int i = 0;i<num;i++)
for(int j = num;j<2*num;j++)
{
bound[i][j] = bound[i][j-num]+num;
}
}
}
int main()
{
int n;
while(scanf("%d",&n)!=EOF)
{
int num = calcu(n);
printf("%d\n",num);
color(num);
for(int i = 0;i<num;i++)
{
for(int j = 0;j< num;j++)
{
printf("%2d ",bound[i][j]);
}
printf("\n");
}
}
return 0;
}问题
#include <iostream>
#include <cmath>
#include <cstring>
#include <string>
#include <cstdlib>
#include <algorithm>
#include <stack>
#include <queue>
#include <map>
#include <set>
#include <tgmath.h>
#define MAX 10000
using namespace std;
int bound[MAX][MAX];
int calcu(int n)
{
int num = 1;
while(n--)
{
num *= 2;
}
return num;
}
void color(int num)
{
if(num == 1)
{
bound[0][0] = 1;
return;
}
else
{
num = num/2;
color(num);
for(int i = num;i<2*num;i++)
for(int j = num;j<2*num;j++)
{
bound[i][j] = bound[i-num][j-num];
}
for(int i=num;i<2*num;i++)
for(int j = 0;j<num;j++)
{
bound[i][j] = bound[i-num][j] + num;
}
for(int i = 0;i<num;i++)
for(int j = num;j<2*num;j++)
{
bound[i][j] = bound[i][j-num]+num;
}
}
}
int main()
{
int n;
while(scanf("%d",&n)!=EOF)
{
int num = calcu(n);
printf("%d\n",num);
color(num);
for(int i = 0;i<num;i++)
{
for(int j = 0;j< num;j++)
{
printf("%2d ",bound[i][j]);
}
printf("\n");
}
}
return 0;
}问题
0 0
- 循环日程表问题 通过递归实现
- 递归--循环日程表问题
- 循环日程表问题
- 循环日程表问题
- 循环日程表问题
- 循环日程表问题
- 循环日程表问题
- 循环赛制日程表问题
- 高效算法设计_递归与分治(棋盘覆盖问题,循环日程表,巨人与鬼)
- 单链表逆序:通过递归和循环实现。
- 循环日程表
- php实现无限级分类,通过循环和递归实现
- 通过递归实现嵌套未知次数的循环
- 算法竞赛入门经典 8.3.2循环日程表问题
- 算法竞赛入门经典 8.3.2 循环日程表问题
- NK1437(循环日程表) [分治]
- 循环比赛日程表
- 循环比赛日程表
- ListView 实现点击侧边A-Z快速查找[中英文排序混排]
- Linux下定时执行脚本
- 遵守csdn博客规则,写出最原创的文章
- Spring 开发
- 传苹果或推出安卓版iTunes音乐商店
- 循环日程表问题 通过递归实现
- 北极星的眼泪
- 贴片电阻分类、阻值、功率、封装、尺寸
- Android开发:[原]Android Fragment 入门介绍
- 黑马程序员__循环结构
- GetType与C#关键字typeof ,is,as
- 字谜程序——python
- C# 如何通过委托进行窗口传值
- 不战而胜老公的外遇