c语言-求解!用C语言来解答该问题

问题描述

求解!用C语言来解答该问题

你一定听说过“数独”游戏。
如【图1.png】,玩家需要根据9×9盘面上的已知数字,推理出所有剩余空格的数字,并满足每一行、每一列、每一个同色九宫内的数字均含1-9,不重复。

数独的答案都是唯一的,所以,多个解也称为无解。

本图的数字据说是芬兰数学家花了3个月的时间设计出来的较难的题目。但对会使用计算机编程的你来说,恐怕易如反掌了。

本题的要求就是输入数独题目,程序输出数独的唯一解。我们保证所有已知数据的格式都是合法的,并且题目有唯一的解。

格式要求,输入9行,每行9个字符,0代表未知,其它数字为已知。
输出9行,每行9个数字表示数独的解。

例如:
输入(即图中题目):
005300000
800000020
070010500
400005300
010070006
003200080
060500009
004000030
000009700

程序应该输出:
145327698
839654127
672918543
496185372
218473956
753296481
367542819
984761235
521839764

再例如,输入:
800000000
003600000
070090200
050007000
000045700
000100030
001000068
008500010
090000400

程序应该输出:
812753649
943682175
675491283
154237896
369845721
287169534
521974368
438526917
796318452

资源约定:
峰值内存消耗 < 256M
CPU消耗 < 2000ms

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

所有代码放在同一个源文件中,调试通过后,拷贝提交该源码。

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

提交时,注意选择所期望的编译器类型。

解决方案

http://bbs.csdn.net/topics/390039859
我用C#写的,C语言类似。

解决方案二:

随便搜一下做参考
http://www.cnblogs.com/lyfruit/archive/2011/02/27/1966312.html

http://blog.chinaunix.net/uid-24774106-id-3473585.html

时间: 2024-11-05 14:48:47

c语言-求解!用C语言来解答该问题的相关文章

c语言-C语言的一个小问题 求解答

问题描述 C语言的一个小问题 求解答 计算机问题求解答">如题 我的代码是这样 #includeint main(){ double xy; printf(""输入数据:""); scanf(""%lf""&x); if(x<1) y=x;else if(x>=1&&x<=10) y=2*x-1;else if(x>10) y=3*x-11;printf(&quo

编程c语言-&amp;amp;#39;&amp;amp;#39;&amp;amp;#39;c语言求解啊啊&amp;amp;#39;&amp;amp;#39;&amp;amp;#39;&amp;amp;#39;&amp;amp;#39;&amp;amp;#39;&amp;amp;#39;

问题描述 '''c语言求解啊啊''''''' 解决方案 #include<stdio.h> int main() { double a, b, c; scanf("%lf%lf%lf", &a, &b, &c); printf("%.2lf ", (a + b) * c / 2); } 解决方案二: 哈希法求解百度语言翻译机 解决方案三: 同学你这是烟大的oj?

c语言问题-小白c语言求教,求大神解答

问题描述 小白c语言求教,求大神解答 #include int main(void) { int years,days; years=21; days=years*365; printf(" The years is %d. The days are %d. ".years,days); Return 0; } 程序无法运行,提示错误.求大神解答.小弟在这里先谢谢啦. 解决方案 printf(" The years is %d. The days are %d. "

c语言的问题求大神解答!!1

问题描述 c语言的问题求大神解答!!1 #include"stdio.h" #include"time.h" #include"stdlib.h" void main() { clock_t start,over; double time; int k=42,a=0; char ch='a'; start=clock(); scanf("%d",&a); leap:while(a!=k) { if(a>k) pr

c语言-C语言问题求哥哥姐姐们解答

问题描述 C语言问题求哥哥姐姐们解答 解决方案 代码如下: #include <stdio.h> void main(void) { int two1,two2,three1,three2,four1,four2,four3,one,two,three,four; for(one=2;one<9;one++) { for(two1=2;two1<9;two1++) { if(one==two1) continue; for(two2=0;two2<9;two2++) { if

c语言-一道acmC语言题目,求大神解答

问题描述 一道acmC语言题目,求大神解答 描述国庆前每日一弹其中一道题是一个递推公式:f(n)=f(n-1)+f(n-2).现在已知f(1)=1f(2)=1.现在请你设计一个程序计算第n项对520取余的值(%520). 输入多组输入:对于每组输入:只有一行,一个n(0<n≤10^9),表示第n项.输出输出f(n)%520的值.样例输入 解决方案 如果有a = b+c,那么有a%520 = (b%520 + c%520)%520,可以照这样递推上去吧.不会溢出,就是不知道时间会不会超时. 解决方

c语言编程问题 求大神解答

问题描述 c语言编程问题 求大神解答 Maximum number ? Write a program that outputs maximum and minimum number in 10 random numbers ? Range of the random number is 1-1000 ? Use the for loop 例子) 400 509 392 949 667 606 364 338 120 441 Maximum number is 996 Minimum numbe

c语言难题,求大神解答

问题描述 c语言难题,求大神解答 键盘输入一个正整数n(10-20之间). ? 构造单链表, 单链表的结点数目为输入的n(不包括 head结点). – 每个结点的data域的内容是随机产生的整数. ? 显示单链表的内容. ? 编写函数listMax, 找出数值最大的结点, 并显示其 位置及数值. 解决方案 答案http://zhidao.baidu.com/link?url=ePhP4ab-SCLlXgn5grSdoDJ3u_Q8VSnD9QZlwz0MluVN6eLYg6xyQKHcnZRTX

对象-C语言新手学习文件,求解答putc 、getc和fputc、fgetc的区别?

问题描述 C语言新手学习文件,求解答putc .getc和fputc.fgetc的区别? fputc.fgetc和putc.getc同为对文件读写的操作函数,他们之间有何不同,具体用法是什么?是不是对象是不是文件的区别? 解决方案 int fputc(int c, FILE *stream); fputc() writes the character c, cast to an unsigned char, to stream. int putc(int c, FILE *stream); pu

图片-悬赏40分 全英文的介绍的简单的两个c语言编程 求大神帮忙解答

问题描述 悬赏40分 全英文的介绍的简单的两个c语言编程 求大神帮忙解答 解决方案 #include int main() { int count; printf("输入"*"的个数:"); scanf("%d",&count); for(int i=0;i<=count;i++) { for(int j=0;j<i;j++) { printf("*"); } printf("n");