标题:九宫幻方

小明最近在教邻居家的小朋友小学奥数,而最近正好讲述到了三阶幻方这个部分,三阶幻方指的是将1~9不重复的填入一个3*3的矩阵当中,使得每一行、每一列和每一条对角线的和都是相同的。

三阶幻方又被称作九宫格,在小学奥数里有一句非常有名的口诀:“二四为肩,六八为足,左三右七,戴九履一,五居其中”,通过这样的一句口诀就能够非常完美的构造出一个九宫格来。

4 9 2
3 5 7
8 1 6

有意思的是,所有的三阶幻方,都可以通过这样一个九宫格进行若干镜像和旋转操作之后得到。现在小明准备将一个三阶幻方(不一定是上图中的那个)中的一些数抹掉,交给邻居家的小朋友来进行还原,并且希望她能够判断出究竟是不是只有一个解。

而你呢,也被小明交付了同样的任务,但是不同的是,你需要写一个程序~

输入格式:
输入仅包含单组测试数据。
每组测试数据为一个3*3的矩阵,其中为0的部分表示被小明抹去的部分。
对于100%的数据,满足给出的矩阵至少能还原出一组可行的三阶幻方。

输出格式:
如果仅能还原出一组可行的三阶幻方,则将其输出,否则输出“Too Many”(不包含引号)。

样例输入
0 7 2
0 5 0
0 3 0

样例输出
6 7 2
1 5 9
8 3 4

资源约定:
峰值内存消耗(含虚拟机) < 256M
CPU消耗 < 1000ms

请严格按要求输出,不要画蛇添足地打印类似:“请您输入…” 的多余内容。

注意:
main函数需要返回0;
只使用ANSI C/ANSI C++ 标准;
不要调用依赖于编译环境或操作系统的特殊函数。
所有依赖的函数必须明确地在源文件中 #include
不能通过工程设置而省略常用头文件。

提交程序时,注意选择所期望的语言类型和编译器类型。


笨笨有话说:
我最喜欢这类题目了。既然九宫幻方一共也没有多少,我就不辞辛劳地一个一个写出来好了。
也不能太过分,好歹用个数组。

程序代码如下:

#include<stdio.h>int test(char s[],char p[])
{int i;for(i=0;i<9;i++){if(s[i]=='0')continue;if(s[i]==p[i])continue;return 0;}return 1;
}int main()
{int i,j,flag=1;char s[9];for(i=0;i<9;i++){int num;scanf("%d",&num);s[i]='0'+num;}char p[8][10]={           //枚举九宫幻方的所有可能{"492357816"},{"438951276"},{"294753618"},{"276951438"},{"672159834"},{"618753294"},{"834159672"},{"816357492"}};for(i=0;i<8;i++){if(test(s,p[i])){printf("\n");flag=0;for(j=0;j<9;j++){printf("%c ",p[i][j]); if((j+1)%3==0){printf("\n");}}}}if(flag){printf("Too Many");}return 0;
}

运行效果截图:

九宫幻方(C语言代码)相关推荐

  1. 蓝桥杯题目:九宫幻方(C++实现)(DFC)(打卡1)

    题目: 问题描述 小明最近在教邻居家的小朋友小学奥数,而最近正好讲述到了三阶幻方这个部分,三阶幻方指的是将1~9不重复的填入一个3*3的矩阵当中,使得每一行.每一列和每一条对角线的和都是相同的. 三阶 ...

  2. 10幻方c语言,幻方算法 C语言描述

    幻方算法的所有情况描述及C语言表示 2019-03-30 讨论幻方前,先讨论一下动态申请数组大小 众所周知 在C语言中必须指定数组的大小 否则会报错.如果你不知道你要申请多大的数组怎么办?初始化一个非 ...

  3. 九宫幻方(全排列问题)

    九宫幻方 小明最近在教邻居家的小朋友小学奥数,而最近正好讲述到了三阶幻方这个部分, 三阶幻方指的是将1~9不重复的填入一个3*3的矩阵当中,使得每一行.每一列和每一条对角线的和都是相同的. 三阶幻方又 ...

  4. 蓝桥杯 历届试题 九宫幻方

    问题描述   小明最近在教邻居家的小朋友小学奥数,而最近正好讲述到了三阶幻方这个部分,三阶幻方指的是将1~9不重复的填入一个3*3的矩阵当中,使得每一行.每一列和每一条对角线的和都是相同的. 三阶幻方 ...

  5. 遗传算法c语言程序,遗传算法c语言代码.doc

    遗传算法c语言代码 遗传算法代码 #include #include #include #include #include struct group //染色体的结构 { int city[citie ...

  6. 071_html语言代码

    1. ISO语言代码 1.1. 国际标准化组织(International Organization for Standardization, ISO)简称ISO, 是一个全球性的非政府组织, 是国际 ...

  7. 嵌入式C语言代码规范

    C语言代码规范 参考安富莱C语言编码规范 1.文件与目录 1.文件及目录的命名规定可用的字符集是[A-Z:a-z:0-9:._-]. 2.源文件名后缀用小写字母 .c 和.h. 3.文件的命名要准确清 ...

  8. java 与c 运行效率_Java语言与C语言代码运行效率的比较

    <Java语言与C语言代码运行效率的比较>由会员分享,可在线阅读,更多相关<Java语言与C语言代码运行效率的比较(2页珍藏版)>请在人人文库网上搜索. 1.Java语言与C语 ...

  9. Python语言学习:python语言代码调试—异常处理之详细攻略

    Python语言学习:python语言代码调试-异常处理之详细攻略 目录 python语言代码调试-异常处理 异常捕捉可以使用 try/except 语句 相关文章 Python3 错误和异常 | 菜 ...

最新文章

  1. Android进程级别
  2. 笨办法学 Python · 续 第五部分:文本解析
  3. 你不知道的那些“XX即服务”
  4. 专题2 文件系统结构
  5. 第179天:javascript中replace使用总结
  6. std::future和std::promise和std::packaged_task
  7. 初步认识Volatile-什么叫缓存一致性呢?
  8. 总结了200道经典的机器学习面试题 (附参考答案)
  9. P5405-[CTS2019]氪金手游【树形dp,容斥,数学期望】
  10. 数据库系统的维护与优化(二)
  11. IPv4 和 IPv6 有什么区别
  12. 开源了!伯克利今年大热的DeepMimic开源了~
  13. 持续集成:软件质量改进和风险降低之道
  14. Glide Golang包管理
  15. 提高WordPress访问速度的十种方法
  16. 如何用计算机计算一组数据的方差,Excel计算一组数据的方差的操作方法
  17. ThreadPoolExecutor中的submit()方法详细讲解
  18. 小爱同学指令大全_小爱同学有哪些隐藏功能?小爱同学实用隐藏功能大汇总
  19. jQuery弹出插件thickbox使用心得
  20. greasemonkey_在Firefox中更改或设置Greasemonkey脚本编辑器

热门文章

  1. Word控件Spire.Doc 【其他】教程(6):从 Word 中提取 OLE 对象
  2. [导入]柔道视频教程 1
  3. 诚意满满的前端面试总结
  4. ACdream 1125 ACfun
  5. 关于Mac下使用Safari登录淘宝可以,但是登陆天猫后还需登录的死循环(登录失败)问题的解决方案
  6. web设计师经验之谈
  7. 网络游戏——纵横四海
  8. python股票量化交易(9)---使用TA-Lib库实现股价走势对比图
  9. Android应用开发-小巫CSDN博客客户端UI篇,kotlin安卓开发教程视频
  10. Personalized Cross-Silo Federated Learning on Non-IID Data阅读记录