第三届蓝桥杯预赛真题及详细答案

合集下载

第三届蓝桥杯cc++真题

第三届蓝桥杯cc++真题

第三届蓝桥杯cc++真题第三届蓝桥杯真题 c/c++ 以下题⽬我⾃⼰也并不是所有的题⽬都是⼀次性就能做对或是有结题思路的。

有些题⽬也是经过查证⽹上相关的资料或是参考了别⼈的代码和解题思路才做出来的。

总的来看,这份题⽬考了很多循环的只是,还有模拟,动态规划的只是。

其中做题过程中,也有了⼀些新的体会。

起初做代码填空题的时候我没办法知道⾃⼰做的是对还是错,就跑到⽹上查答案,后来发现,题⽬已经给出了代码,起始我们可以⾃⼰加上头⽂件,然后把空缺的代码加上进⾏调试的,这样就可以验证⾃⼰补充的代码是否正确了。

此外在进⾏调试的时候,可以利⽤重定向,将输⼊输出重定向到⽂件中,例如: 输⼊重定向:freopen("testin.txt","r",stdin) 输出重定向: freopen("testout.txt","w",stdout); 重定向以后,再有⼤量输⼊数据或者是⼤量输出数据的时候就省去了输出测试数据的时间,还是⽐较⽅便的。

但是需要注意的是,再编程答题需要提交代码的时候⼀定要记得把重定向语句注释掉或者删掉,否者将会出错。

结果填空题,由于只需要结果,所以我们的算法不必要很优,有很多时候都是可以⽤穷举的暴⼒解决⽅案获取答案的。

以下的题⽬我也只是做了简单的测试,虽然测试结果是正确的。

但是也不保证答案的正确性,所以如果有错的地⽅可以帮忙加以改正。

《1》微⽣物增值问题假设有两种微⽣物 X 和 YX出⽣后每隔3分钟分裂⼀次(数⽬加倍),Y出⽣后每隔2分钟分裂⼀次(数⽬加倍)。

⼀个新出⽣的X,半分钟之后吃掉1个Y,并且,从此开始,每隔1分钟吃1个Y。

现在已知有新出⽣的 X=10, Y=89,求60分钟后Y的数⽬。

如果X=10,Y=90 呢?本题的要求就是写出这两种初始条件下,60分钟后Y的数⽬。

题⽬的结果令你震惊吗?这不是简单的数字游戏!真实的⽣物圈有着同样脆弱的性质!也许因为你消灭的那只 Y 就是最终导致 Y 种群灭绝的最后⼀根稻草!请忍住悲伤,把答案写在“解答.txt”中,不要写在这⾥!解析 可以将时间的推移以0.5分钟为步长,分层6个阶段,每个阶段的X⽤素组x[7]表⽰,其中x[i]表⽰分裂后第0.5*i分钟的x个数,周期为6。

蓝桥杯部分题目(含答案)

蓝桥杯部分题目(含答案)

1、未名湖边的烦恼关键词:递归,蓝桥杯,算法问题描述每年冬天,北大未名湖上都是滑冰的好地方。

北大体育组准备了许多冰鞋,可是人太多了,每天下午收工后,常常一双冰鞋都不剩。

每天早上,租鞋窗口都会排起长龙,假设有还鞋的m个,有需要租鞋的n个。

现在的问题是,这些人有多少种排法,可以避免出现体育组没有冰鞋可租的尴尬场面。

(两个同样需求的人(比如都是租鞋或都是还鞋)交换位置是同一种排法)输入格式两个整数,表示m和n输出格式一个整数,表示队伍的排法的方案数。

样例输入3 2样例输出5数据规模和约定m,n∈[0,18]#include "iostream"#include "cstdio"#include "cmath"#include "algorithm"#include "map"using namespace std;int f(int m,int n){if(m<n) return 0;if(n==0) return 1;return f(m,n-1)+f(m-1,n);}int main(){int m,n;scanf("%d%d",&m,&n);int ans=f(m,n);printf("%d\n",ans);return 0;}2.标题:蚂蚁感冒关键词:结构体排序,蓝桥杯【题目描述】长100厘米的细长直杆子上有n只蚂蚁。

它们的头有的朝左,有的朝右。

每只蚂蚁都只能沿着杆子向前爬,速度是1厘米/秒。

当两只蚂蚁碰面时,它们会同时掉头往相反的方向爬行。

这些蚂蚁中,有1只蚂蚁感冒了。

并且在和其它蚂蚁碰面时,会把感冒传染给碰到的蚂蚁。

请你计算,当所有蚂蚁都爬离杆子时,有多少只蚂蚁患上了感冒。

【数据格式】第一行输入一个整数n (1 < n < 50), 表示蚂蚁的总数。

大学生蓝桥杯试题及答案

大学生蓝桥杯试题及答案

大学生蓝桥杯试题及答案一、选择题(每题2分,共20分)1. 在计算机科学中,通常用什么来表示一个算法的效率?A. 时间复杂度B. 空间复杂度C. 算法的可读性D. 算法的可维护性答案:A2. 下列哪种数据结构在插入和删除操作时不需要移动其他元素?A. 链表B. 数组C. 栈D. 队列答案:A3. 以下哪个选项是面向对象编程的三个基本特征?A. 封装、继承、多态B. 抽象、封装、继承C. 继承、封装、多态D. 封装、继承、抽象答案:A4. 在HTML中,用于定义最重要的标题的标签是什么?A. <h1>B. <h6>C. <title>D. <header>答案:A5. 在数据库管理系统中,用于从数据库中检索数据的SQL语句是?A. INSERTB. UPDATEC. DELETED. SELECT答案:D6. 在Java中,用于定义一个类的方法的关键字是什么?A. classB. methodC. functionD. public答案:D7. 在C语言中,用于声明一个变量为静态存储的关键字是什么?A. staticB. externC. registerD. auto答案:A8. 在Python中,用于定义一个函数的关键字是什么?A. defB. functionC. methodD. class答案:A9. 在操作系统中,用于管理进程的调度和资源分配的组件是什么?A. 文件系统B. 内存管理C. 进程管理器D. 设备驱动程序答案:C10. 以下哪个协议是用于在互联网上发送电子邮件的?A. HTTPB. FTPC. SMTPD. TCP答案:C二、填空题(每题2分,共20分)1. 在计算机科学中,________是用来衡量算法在最坏情况下执行时间的量度。

答案:时间复杂度2. 在数据结构中,________是一种允许在任意位置插入和删除数据的线性数据结构。

蓝桥杯试题及答案

蓝桥杯试题及答案

蓝桥杯试题及答案一、选择题1. 在Java中,以下哪个关键字用于定义类?A. classB. interfaceC. enumD. struct答案:A2. 下列哪个不是Python的内置数据类型?A. intB. floatC. stringD. list答案:D二、填空题1. 在C语言中,定义一个整型变量的关键字是________。

答案:int2. 在JavaScript中,用于定义函数的关键字是________。

答案:function三、简答题1. 请简述什么是算法的时间复杂度,并给出一个例子。

答案:算法的时间复杂度是指算法执行时间随输入规模增长的变化趋势。

例如,对于一个简单的线性搜索算法,如果数组中有n个元素,最坏情况下需要比较n次,因此其时间复杂度是O(n)。

2. 请解释什么是栈,并给出一个栈的应用场景。

答案:栈是一种后进先出(LIFO)的数据结构,允许在一端进行数据的添加和删除操作。

一个常见的栈的应用场景是函数调用的实现,在编程中,每当调用一个函数,就会将函数的返回地址和局部变量压入栈中,待函数执行完毕后再从栈中弹出。

四、编程题1. 编写一个函数,实现对一个整数数组进行排序。

答案:```javapublic static void sort(int[] array) {for (int i = 0; i < array.length - 1; i++) {for (int j = 0; j < array.length - i - 1; j++) {if (array[j] > array[j + 1]) {int temp = array[j];array[j] = array[j + 1];array[j + 1] = temp;}}}}```2. 编写一个程序,实现计算一个字符串中所有元音字母的数量。

答案:```pythondef count_vowels(s):vowels = "aeiouAEIOU"return sum(1 for char in s if char in vowels)# 示例print(count_vowels("Hello World")) # 输出应该是 3```五、案例分析题1. 描述一个场景,其中使用二叉搜索树(BST)比使用数组更有效,并解释原因。

第三届蓝桥桥杯预赛真题及详细答案

第三届蓝桥桥杯预赛真题及详细答案

第三届蓝桥桥杯预赛真题及详细答案一、微生物增殖假设有两种微生物X 和Y X 出生后每隔 3 分钟分裂一次(数目加倍)Y 出生后每隔 2 分钟分裂一次,(数目加倍)。

一个新出生的X,半分钟之后吃掉 1 个Y,并且,从此开始,每隔 1 分钟吃 1 个Y。

现在已知有新出生的X=10, Y=89,求60 分钟后Y 的数目。

如果X=10,Y=90 呢?本题的要求就是写出这两种初始条件下,60 分钟后Y 的数目。

题目的结果令你震惊吗?这不是简单的数字游戏!真实的生物圈有着同样脆弱的性质!也许因为你消灭的那只Y 就是最终导致Y 种群灭绝的最后一根稻草!请忍住悲伤,把答案写在“解答.txt”中,不要写在这里!答案:0 和94371840 (此题比较简单就不写程序了,以下均有程序)二、古堡算式福尔摩斯到某古堡探险,看到门上写着一个奇怪的算式:ABCDE * ? = EDCBA 他对华生说:“ABCDE 应该代表不同的数字,问号也代表某个数字!” 华生:“我猜也是!”于是,两人沉默了好久,还是没有算出合适的结果来。

请你利用计算机的优势,找到破解的答案。

把ABCDE 所代表的数字写出来。

答案写在“解答.txt”中,不要写在这里!参考答案:21978 参考程序:#include<stdio.h>void main(){ int k,t1,t;for(k=10234;k<50000;k++){ bool flag[10]={0}; t=k; t1=0;while(t){ if(flag[t%10]) break ; flag[t%10] =true ; t1 = t1*10 + t%10 ; t /= 10 ; } if( t==0 && t1%k==0){ printf("%d * %d = %d\n",k,t1/k,t1); } }}三、比酒量有一群海盗(不多于20 人),在船上比拼酒量。

蓝桥杯c组试题及答案

蓝桥杯c组试题及答案

蓝桥杯c组试题及答案一、选择题(每题5分,共20分)1. 下列关于C语言的描述,错误的是:A. C语言是一种高级语言B. C语言可以直接被计算机执行C. C语言具有结构化的特点D. C语言支持函数式编程答案:B2. 在C语言中,用于定义一个结构体的关键字是:A. structB. unionC. enumD. typedef答案:A3. 下列关于指针的描述,正确的是:A. 指针可以存储变量的地址B. 指针可以存储变量的值C. 指针不能存储数组的地址D. 指针不能存储函数的地址答案:A4. 在C语言中,用于定义一个函数的关键字是:A. functionB. defC. voidD. int答案:D二、填空题(每题5分,共20分)1. 在C语言中,表示逻辑与的运算符是______。

答案:&&2. 用于声明一个整型变量的关键字是______。

答案:int3. 在C语言中,数组的索引是从______开始的。

答案:04. C语言中,用于结束一个程序的语句是______。

答案:return三、编程题(每题30分,共60分)1. 编写一个C语言程序,实现计算并输出100以内所有偶数的和。

```c#include <stdio.h>int main() {int sum = 0;for (int i = 2; i <= 100; i += 2) {sum += i;}printf("Sum of even numbers from 1 to 100 is: %d\n", sum); return 0;}```2. 编写一个C语言程序,实现一个简单的计算器,可以计算两个整数的加、减、乘、除。

```c#include <stdio.h>int main() {int a, b;char op;float result;printf("Enter first number: ");scanf("%d", &a);printf("Enter operator (+, -, *, /): ");scanf(" %c", &op);printf("Enter second number: ");scanf("%d", &b);switch (op) {case '+':result = a + b;break;case '-':result = a - b;break;case '*':result = a * b;break;case '/':if (b != 0)result = (float)a / b;else {printf("Division by zero error!\n"); return 1;}break;default:printf("Invalid operator!\n");return 1;}printf("Result: %.2f\n", result);return 0;}```。

第三届蓝桥杯(高职java预赛题及参考答案)

第三届蓝桥杯(高职java预赛题及参考答案)

1、造成高房价的原因有许多,比如土地出让价格。

既然地价高,土地的面积必须仔细计算。

遗憾的是,有些地块的形状不规则,比如是如图【1.jpg】中所示的五边形。

一般需要把它划分为多个三角形来计算。

已知三边求三角形的面积需要用海伦定理,参见【2.jpg】各条边长数据如下:AB = 52.1BC = 57.2CD = 43.5DE = 51.9EA = 33.4EB = 68.2EC = 71.9根据这些数据求五边形地块的面积。

四舍五入到小数后两位。

只写结果,不要源代码!1.jpg2.jpgpublic class Onea {public static void main(String args[]){double s_ABE = (52.1 + 68.2 + 33.4) / 2;double s_BEC = (68.2 + 57.2 + 71.9) / 2;double s_EDC = (71.9 + 51.9 + 43.5) / 2;// sqrt()是Math中的静态方法可以用类名直接调用double A_ABE = Math.sqrt(s_ABE * (s_ABE - 52.1) * (s_ABE - 33.4) * (s_ABE - 68.2));double A_BEC = Math.sqrt(s_BEC * (s_BEC - 68.2) * (s_BEC - 57.2) * (s_BEC - 71.9));double A_EDC = Math.sqrt(s_EDC * (s_EDC - 71.9) * (s_EDC - 43.5) * (s_EDC - 51.9));System.out.println(A_ABE + A_BEC + A_EDC);}}// 输出的结果是3789.8640994485186public class One {public static void main(String[] args) {double AB = 52.1, BC = 57.2, CD = 43.5, DE = 51.9, EA = 33.4, EB = 68.2, EC = 71.9;System.out.println(mainji(AB,EB,EA) + mainji(EB,BC,EC) +mainji(EC,CD,DE));}static double mainji(double a,double b,double c){double s = (a + b + c)/2;return Math.sqrt(s * (s - a) * (s - b) * (s - c));}}输出结果:3789.86409944851862、今年的植树节(2012年3月12日),小明和他的叔叔还有小伙伴们一起去植树。

第三届 蓝桥杯 预赛题目(部分)1

第三届 蓝桥杯 预赛题目(部分)1

1、结果填空求三个三角形面积。

2、结果填空两人共卖150个鸡蛋,两人赚了一样的钱,交换价格卖,一个卖32元另一个24.5元,求两人卖的鸡蛋数。

3、结果填空ABCDE*?=ECDBA (顺序不记得了每个字母和?代表一个数字,暴力求出ABCDE各自代表的数
4、结果填空13张牌、、、、、
5、代码填空干支纪年
6、代码填空身份证校验
7、代码填空矩阵顺时针旋转90度。

8、程序设计
手机尾号得分,
ABCD,DCBA连号5分;
AAAB,ABBB,3分,AAAA 6分;
ABAB,AABB 2分,AAAA 4分;
6,8,9出现一次一分。

得分为所有符合条件加分项的和。

输入n(小于100)个尾号,输出对应得分
9、程序设计
输入罗马数字输出十进制数。

I V X L C D M 对应1 5 10 50 100 500 1000
III 3 XXX 30 CC 200,出现几次就是其倍数,仅对于IXCM有效
IV 4 左小右大,右减左。

……
……
……
CMXCIX 999
10、程序设计
A B C
D E
空格相邻字母可移动、
表示成字符串ABCDE*
输入若干字符串,可移动得到输出1,不可得到输出0。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第三届蓝桥桥杯预赛真题及详细答案一、微生物增殖假设有两种微生物X 和YX出生后每隔3分钟分裂一次(数目加倍),Y出生后每隔2分钟分裂一次(数目加倍)。

一个新出生的X,半分钟之后吃掉1个Y,并且,从此开始,每隔1分钟吃1个Y。

现在已知有新出生的X=10, Y=89,求60分钟后Y的数目。

如果X=10,Y=90 呢?本题的要求就是写出这两种初始条件下,60分钟后Y的数目。

题目的结果令你震惊吗?这不是简单的数字游戏!真实的生物圈有着同样脆弱的性质!也许因为你消灭的那只Y 就是最终导致Y 种群灭绝的最后一根稻草!请忍住悲伤,把答案写在“解答.txt”中,不要写在这里!答案:0 和94371840(此题比较简单就不写程序了,以下均有程序)二、古堡算式福尔摩斯到某古堡探险,看到门上写着一个奇怪的算式:ABCDE * ? = EDCBA他对华生说:“ABCDE应该代表不同的数字,问号也代表某个数字!”华生:“我猜也是!”于是,两人沉默了好久,还是没有算出合适的结果来。

请你利用计算机的优势,找到破解的答案。

把ABCDE 所代表的数字写出来。

答案写在“解答.txt”中,不要写在这里!参考答案:21978参考程序:#include<stdio.h>void main(){int k,t1 ,t;for(k=10234;k<50000;k++){bool flag[10]={0};t=k;t1=0;while(t){if(flag[t%10])break ;flag[t%10] = true ;t1 = t1*10 + t%10 ;t /= 10 ;}if( t==0 && t1%k==0){printf("%d * %d = %d\n",k,t1/k,t1);}}三、比酒量有一群海盗(不多于20人),在船上比拼酒量。

过程如下:打开一瓶酒,所有在场的人平分喝下,有几个人倒下了。

再打开一瓶酒平分,又有倒下的,再次重复...... 直到开了第4瓶酒,坐着的已经所剩无几,海盗船长也在其中。

当第4瓶酒平分喝下后,大家都倒下了。

等船长醒来,发现海盗船搁浅了。

他在航海日志中写到:“......昨天,我正好喝了一瓶.......奉劝大家,开船不喝酒,喝酒别开船......”请你根据这些信息,推断开始有多少人,每一轮喝下来还剩多少人。

如果有多个可能的答案,请列出所有答案,每个答案占一行。

格式是:人数,人数,...例如,有一种可能是:20,5,4,2,0答案写在“解答.txt”中,不要写在这里!参考答案:12 6 4 2 015 10 3 2 018 9 3 2 020 5 4 2 0参考程序:#include<stdio.h>void f(int a[],int n){inti ;if(n==3){intx,y;x = a[0] * a[1] + a[0] * a[2] + a[1] * a[2] ;y = a[0] * a[1] * a[2] ;x = y - x ;if( x>0 &&y%x==0 && y/x<a[2] ){printf("%d %d %d %d 0\n",a[0],a[1],a[2],y/x);}return;}i = a[n-1] - 1 ;while(i){a[n] = i ;f(a,n+1);i-- ;}}void main(){int a[3]={0};for(inti=4;i<=20;i++){a[0] = i ;f(a,1);}四、奇怪的比赛某电视台举办了低碳生活大奖赛。

题目的计分规则相当奇怪:每位选手需要回答10个问题(其编号为1到10),越后面越有难度。

答对的,当前分数翻倍;答错了则扣掉与题号相同的分数(选手必须回答问题,不回答按错误处理)。

每位选手都有一个起步的分数为10分。

某获胜选手最终得分刚好是100分,如果不让你看比赛过程,你能推断出他(她)哪个题目答对了,哪个题目答错了吗?如果把答对的记为1,答错的记为0,则10个题目的回答情况可以用仅含有1和0的串来表示。

例如:0010110011 就是可能的情况。

你的任务是算出所有可能情况。

每个答案占一行。

答案写在“解答.txt”中,不要写在这里!参考答案:101101000001110100000010110011参考程序:#include<stdio.h>//score为完成第n题之后的分数void f(char s[] , int n , int score){if(n==0){if(score==10)puts(s);return;}//第n题答错s[n-1] = '0' ;f( s , n-1 , score+n );//第n题答对if(score%2==0){s[n-1] = '1' ;f(s,n-1,score/2);}}void main(){char s[10];s[10] = '\0' ;f(s,10,100);}五、转方阵对一个方阵转置,就是把原来的行号变列号,原来的列号变行号例如,如下的方阵:1 2 3 45 6 7 813 14 15 16转置后变为:1 5 9 132 6 10 143 7 11 154 8 12 16但,如果是对该方阵顺时针旋转(不是转置),却是如下结果:13 9 5 114 10 6 215 11 7 316 12 8 4下面的代码实现的功能就是要把一个方阵顺时针旋转。

void rotate(int* x, int rank){int* y = (int*)malloc(___________________); // 填空for(inti=0; i<rank * rank; i++){y[_________________________] = x[i]; // 填空}for(i=0; i<rank*rank; i++){x[i] = y[i];}free(y);}int main(intargc, char* argv[]){int x[4][4] = {{1,2,3,4},{5,6,7,8},{9,10,11,12},{13,14,15,16}};int rank = 4;rotate(&x[0][0], rank);for(inti=0; i<rank; i++){for(int j=0; j<rank; j++){printf("%4d", x[i][j]);}printf("\n");}return 0;}请分析代码逻辑,并推测划线处的代码。

答案写在“解答.txt”文件中注意:只写划线处应该填的内容,划线前后的内容不要抄写。

rank*rank*sizeof(int)(i%rank)*rank + rank-i/rank-1六、大数乘法对于32位字长的机器,大约超过20亿,用int类型就无法表示了,我们可以选择int64类型,但无论怎样扩展,固定的整数类型总是有表达的极限!如果对超级大整数进行精确运算呢?一个简单的办法是:仅仅使用现有类型,但是把大整数的运算化解为若干小整数的运算,即所谓:“分块法”。

如图【1.jpg】表示了分块乘法的原理。

可以把大数分成多段(此处为2段)小数,然后用小数的多次运算组合表示一个大数。

可以根据int的承载能力规定小块的大小,比如要把int 分成2段,则小块可取10000为上限值。

注意,小块在进行纵向累加后,需要进行进位校正。

以下代码示意了分块乘法的原理(乘数、被乘数都分为2段)。

voidbigmul(int x, int y, int r[]){int base = 10000;int x2 = x / base;int x1 = x % base;int y2 = y / base;int y1 = y % base;int n1 = x1 * y1;int n2 = x1 * y2;int n3 = x2 * y1;int n4 = x2 * y2;r[3] = n1 % base;r[2] = n1 / base + n2 % base + n3 % base;r[1] = ____________________________________________; // 填空r[0] = n4 / base;r[1] += _______________________; // 填空r[2] = r[2] % base;r[0] += r[1] / base;r[1] = r[1] % base;}int main(intargc, char* argv[]){int x[] = {0,0,0,0};bigmul(87654321, 12345678, x);printf("%d%d%d%d\n", x[0],x[1],x[2],x[3]);return 0;}请分析代码逻辑,并推测划线处的代码。

答案写在“解答.txt”文件中注意:只写划线处应该填的内容,划线前后的内容不要抄写。

参考答案:n2/base + n3/base + n4%baser[2]/base七、放棋子今有6 x 6 的棋盘格。

其中某些格子已经预先放好了棋子。

现在要再放上去一些,使得:每行每列都正好有3颗棋子。

我们希望推算出所有可能的放法。

下面的代码就实现了这个功能。

初始数组中,“1”表示放有棋子,“0”表示空白。

int N = 0;boolCheckStoneNum(int x[][6]){for(int k=0; k<6; k++){intNumRow = 0;intNumCol = 0;for(inti=0; i<6; i++){if(x[k][i]) NumRow++;if(x[i][k]) NumCol++;}if(_____________________) return false; // 填空}return true;}intGetRowStoneNum(int x[][6], int r){int sum = 0;for(inti=0; i<6; i++) if(x[r][i]) sum++;return sum;}intGetColStoneNum(int x[][6], int c){int sum = 0;for(inti=0; i<6; i++) if(x[i][c]) sum++;return sum;}void show(int x[][6]){for(inti=0; i<6; i++){for(int j=0; j<6; j++) printf("%2d", x[i][j]);printf("\n");}printf("\n");}void f(int x[][6], int r, int c);voidGoNext(int x[][6], int r, int c){if(c<6)_______________________; // 填空elsef(x, r+1, 0);}void f(int x[][6], int r, int c){if(r==6){if(CheckStoneNum(x)){N++;show(x);}return;}if(______________) // 已经放有了棋子{GoNext(x,r,c);return;}intrr = GetRowStoneNum(x,r);int cc = GetColStoneNum(x,c);if(cc>=3) // 本列已满GoNext(x,r,c);else if(rr>=3) // 本行已满f(x, r+1, 0);else{x[r][c] = 1;GoNext(x,r,c);x[r][c] = 0;if(!(3-rr >= 6-c || 3-cc >= 6-r)) // 本行或本列严重缺子,则本格不能空着!GoNext(x,r,c);}}int main(intargc, char* argv[]){int x[6][6] = {{1,0,0,0,0,0},{0,0,1,0,1,0},{0,0,1,1,0,1},{0,1,0,0,1,0},{0,0,0,1,0,0},{1,0,1,0,0,1}};f(x, 0, 0);printf("%d\n", N);return 0;}请分析代码逻辑,并推测划线处的代码。

相关文档
最新文档