博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
2017福建省c语言编程题,[蓝桥杯][2017年第八届真题]九宫幻方-题解(C语言代码)
阅读量:6902 次
发布时间:2019-06-27

本文共 1110 字,大约阅读时间需要 3 分钟。

#####这是官方的提示

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

#####思路:九宫格的组合一共有8种情况

6 7 28 3 42 9 46 1 8

1 5 91 5 97 5 37 5 3

8 3 46 7 26 1 82 9 4

2 7 64 3 84 9 28 1 6

9 5 19 5 13 5 7 3 5 7

4 3 82 7 68 1 64 9 2

注意: 可能有多个组合都符合 比如 :0 7 0 0 0 0 0 0 0

(不会写思路,但是这个运行快,嗯快)

```

#includeint show(int *str,int *ch)

{

for(int j=0;j<9;j++)

{

if(str[j]==ch[j])continue;

if(ch[j]==0)continue;

if(str[j]!=ch[j])return 0;

}

return 1;

}

int main()

{

//1880: [蓝桥杯][2017年第八届真题]九宫幻方

/*

6 7 28 3 42 9 46 1 8

1 5 91 5 97 5 37 5 3

8 3 46 7 26 1 82 9 4

2 7 64 3 84 9 28 1 6

9 5 19 5 13 5 7 3 5 7

4 3 82 7 68 1 64 9 2

*/

int str[][9]={

{6,7,2,1,5,9,8,3,4},

{8,3,4,1,5,9,6,7,2},

{2,9,4,7,5,3,6,1,8},

{6,1,8,7,5,3,2,9,4},

{2,7,6,9,5,1,4,3,8},

{4,3,8,9,5,1,2,7,6},

{4,9,2,3,5,7,8,1,6},

{8,1,6,3,5,7,4,9,2},

};

int ch[9];

for(int i=0;i<3;i++)

{

for(int j=0;j<3;j++)

scanf("%d",&ch[i*3+j]);

}

int i,tmp=0;

for(int k=0;k<8;k++)

{

if(show(str[k],ch))

{

tmp+=1;

if(tmp==1)i=k;

}

}

if(tmp==1)

for(int j=0;j<9;j++)

{

if(j!=0 &&j%3==0)

printf("\n");

printf("%d ",str[i][j]);

}

else{

printf("Too Many");

}

return 0;

}

```

0.0分

1 人评分

转载地址:http://txodl.baihongyu.com/

你可能感兴趣的文章
Scala 学习笔记之函数(3)
查看>>
Fiddler (二) Script 用法
查看>>
[转载] 信息系统项目管理师考试习题——整体管理
查看>>
LC 425 word squares
查看>>
Web框架之Django_08 重要组件(form组件、cookie和session组件)
查看>>
HDU 6103
查看>>
zookeeper 实现分布式锁
查看>>
sql server 数据修改不了的设计
查看>>
Reinforcement Learning by Sutton 第三章习题答案
查看>>
mysql tinyint
查看>>
UNIX网络编程——getsockname和getpeername函数
查看>>
Bad Request - Request Too Long
查看>>
sqlist
查看>>
全员利润管理实践(3)-生产的利润管理
查看>>
[转帖]c头文件(.h)的作用
查看>>
ORACLE in与exists语句的区别(一)
查看>>
ASP.NET保持用户状态的九种选择(上)
查看>>
Linux /etc/passwd & /etc/shadow 详解 2
查看>>
案例练习
查看>>
数据结构(六)树
查看>>