标题:九宫幻方

小明最近在教邻居家的小朋友小学奥数,而最近正好讲述到了三阶幻方这个部分,三阶幻方指的是将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. CentOS7上编译多版本PHP并同时运行及systemd设置
  2. 零基础学python这本书怎么样-看了这本基础教程的书籍你还担心你的python学不好吗?...
  3. jq获取最后一个子节点_如何选择jQuery中的最后一个子元素?
  4. 声明为指针,定义为数组,声明为数组,定义为指针
  5. Maven之pom.xml常用标签解析及镜像配置
  6. MySql Cluster 安装,Centos,双管理,多数据,多SQL节点
  7. java释放对象_在Java中释放Semaphore对象的正确方法是什么...
  8. android 功耗(1)---android 功耗分析方法和优化
  9. 刚发布!开发者调查报告:机器学习/深度学习算法工程师急缺
  10. 熊猫直播凉了,直播大战厮杀后只剩遍地鸡毛! | 畅言
  11. vsftp.conf 配置文件详解
  12. 计算机网络知识点回顾
  13. Pytorch基础(三)数据集加载及预处理
  14. apache源码安装过程
  15. 阿里云云计算 38 PolarDB MySQL的数据管理
  16. SPSS25 bootstrap结果输出不显示
  17. ArcGIS实验教程——实验二:ArcGIS地理配准完整操作步骤
  18. win7旗舰版怎么降级到专业版|win7旗舰版改成专业版的方法
  19. 魔百盒M302H-ZN安徽版-刷机固件及教程
  20. 腾讯华为签署《深圳市APP个人信息保护自律承诺书》举措新解读

热门文章

  1. 大话西游2服务器修改,【独家】大话西游一键端单机服务端+GM工具+修改教程
  2. 解决视频播放器在线视频显示绿屏
  3. js 创建函数getMax,传递3个参数,返回三个数字中的最大值。
  4. 震惊!微信PC端也能多开!
  5. chrome 窗体高度_浏览器几种高度宽度
  6. upload-labs 21超详细通关笔记+部分代码审计(条件竞争等)
  7. 邀请好友我赚了1026个集分宝 分享庆祝下
  8. 【图形学】Bézier 曲面建模及显示
  9. 【愚公系列】2023年06月 网络安全(交通银行杯)-Rocking
  10. 苹果手机sim卡无效怎么办_苹果手机扬声器没声音怎么办