蓝桥杯2015校园选拔赛之第四题

今有7对数字:两个1,两个2,两个3,...两个7,把它们排成一行。 要求,两个1间有1个其它数字,两个2间有2个其它数字,以此类推,两个7之间有7个其它数字。如下就是一个符合要求的排列:

17126425374635

当然,如果把它倒过来,也是符合要求的。

请你找出另一种符合要求的排列法,并且这个排列法是以74开头的。

注意:只填写这个14位的整数,不能填写任何多余的内容,比如说明注释等。

这个题可直接通过手算求得结果!

下面我把我用的递归+回溯求解代码贴上:

 1 #include<stdio.h>
 2 int num[15],f=0;
 3 void fun(int count)
 4 {
 5     if(count>6||f==1)
 6     {
 7         return;
 8     }
 9     int i,j,flag,k;
10     if((count==6)&&(f==0))
11     {
12         for(i=1;i<=14;i++)
13         {
14             printf("%d ",num[i]);
15         }
16         printf("\n");
17         f=1;
18         return;
19     }
20     k=3;
21     for(i=1;i<=6;i++)
22     {
23         flag=1;
24         for(j=1;j<=14;j++)
25         {
26             if(i==num[j])
27             {
28                 flag=0;
29                 break;
30             }
31         }
32         if(flag==1)
33         {
34             while((k+i+1<=14)&&(num[k]!=0||num[k+i+1]!=0))
35             {
36                 k++;
37             }
38             if(k+i+1<=14)
39             {
40                 num[k]=i;
41                 num[k+i+1]=i;
42                 fun(count+1);
43                 num[k]=0;
44                 num[k+i+1]=0;
45             }
46         }
47
48     }
49 }
50 int main()
51 {
52     int i,j,k;
53     num[1]=7;
54     num[9]=7;
55     num[2]=4;
56     num[7]=4;
57     fun(1);
58     return 0;
59 }
时间: 2024-10-11 01:00:39

蓝桥杯2015校园选拔赛之第四题的相关文章

算法笔记_216:第六届蓝桥杯软件类校赛部分真题(Java语言C组)

目录 1 题目一 2 题目二 3 题目三 4 题目四 5 题目五 前言:以下代码仅供参考,若有错误欢迎指正哦~ 1 题目一 二项式的系数规律,我国数学家很早就发现了. 如[图1.png],我国南宋数学家杨辉1261年所著的<详解九章算法>一书里就出现了. 其排列规律: 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 1 6 15 20 15 6 1 1 7 21 35 35 21 7 1 如下的程序,用来建立N行的杨辉三角形.请填写划线部分缺少的代码.

算法笔记_215:第六届蓝桥杯软件类校赛部分真题(Java语言B组)

目录 1 题目一 2 题目二 3 题目三 前言:以下代码仅供参考,若有错误欢迎指正哦~ 1 题目一 java中提供了对正则表达式的支持. 有的时候,恰当地使用正则,可以让我们的工作事半功倍! 如下代码用来检验一个四则运算式中数据项的数目,请填写划线部分缺少的代码. 注意:只填写缺少代码,不要写任何多余内容,例如,已有的双引号. public class A { public static int f(String s) { return s.split("________________&quo

蓝桥杯 基础练习 闰年判断【基础题】

基础练习 闰年判断 时间限制:1.0s   内存限制:256.0MB 问题描述 给定一个年份,判断这一年是不是闰年. 当以下情况之一满足时,这一年是闰年: 1. 年份是4的倍数而不是100的倍数: 2. 年份是400的倍数. 其他的年份都不是闰年. 输入格式 输入包含一个整数y,表示当前的年份. 输出格式 输出一行,如果给定的年份是闰年,则输出yes,否则输出no. 说明:当试题指定你输出一个字符串作为结果(比如本题的yes或者no,你需要严格按照试题中给定的大小写,写错大小写将不得分. 样例输

第八届蓝桥杯 JAVA(B组) 第二题“纸牌三角形”

class CardDelta{ int top=1; int left=3; int right=2; /* A 9 6 4 8 3 7 5 2 * */ public CardDelta() { } public void sort3Num() { for(int i = 1; i < 8; i++) { for(int j = i+1; j < 9; j++) { for(int k = j+1; k < 10; k++) { //System.out.println("

2015年蓝桥杯省赛B组C/C++(试题+答案)

首先说,这次我是第二次参加蓝桥杯(大学里最后一次),可这次去连个三等都没拿到,有些心灰意冷,比上一次还差, 当时看到成绩出来的时候有些失落,但是跌倒了,再站起来继续跑就可以了.可能是状态不好吧,纯属自我安慰. 接下来我把今年的题目又重新做了一遍,写下了这篇博客,如果也有需要探讨答案的,希望可以有帮助. 第一题: 第1题:统计不含4的数字 题目大意 统计10000至99999中,不包含4的数值个数. 解题分析: 第一种解法: 数学方法,这种是在网上看到的一种解法: 最高位除了0.4不能使用,其余8

2015第六届蓝桥杯竞赛感悟

之前对算法一直是敬畏的,觉得很难去学习,但是通过蓝桥杯竞赛也算是强迫自己认真学习了一个多月的算法,发现算法也是可以学的. 前天竞赛就结束了,一直拖到今天才来写一篇总结,其实这次竞赛收货真的蛮大的,自己以前一直不够重视内功的培养,现在能有这么一个机会来修炼内容还是挺开心的. 感觉这次考试题和前两届去比确实难度有所增加,第九题缓存没有写好,第十题压根就没来的及做...其实第十题下来想想是能做的,只是考前最短路径这种动态规划题做的不多,所以在比赛场上就有点怯了...虽然是很想得一等奖参加决赛的,不过照

2015年第六届蓝桥杯C/C++B组省赛题目解析

一.奖券数目 有些人很迷信数字,比如带“4”的数字,认为和“死”谐音,就觉得不吉利.虽然这些说法纯属无稽之谈,但有时还要迎合大众的需求.某抽奖活动的奖券号码是5位数(10000-99999),要求其中不要出现带“4”的号码,主办单位请你计算一下,如果任何两张奖券不重号,最多可发出奖券多少张. 请提交该数字(一个整数),不要写任何多余的内容或说明性文字. 分析:直接枚举10000-99999之间的数字,如果带4,直接排除:不带4的,记录一次,直到枚举完后输出. #include <iostream

第五届蓝桥杯全国软件设计大赛--2013年校内选拔赛Java题目

第五届蓝桥杯全国软件设计大赛 2013年校内选拔赛Java题目 一.考生注意: (1)[结果填空题]要求参赛选手根据题目描述直接填写结果.求解方式不限.不要求源代码. 把答案存入[考生文件夹]下对应题号的文件中即可. (2)[代码填空题]要求参赛选手在弄清给定代码工作原理的基础上填写缺失的部分,使得程序逻辑正确.完整.所填写的代码不超过一条语句(即中间不能出现分号). 把填空的答案(仅填空处的答案,不包括题面已存在的代码)存入[考生文件夹]下对应题号的文件中中即可. (3)[编程题]要求选手设计

2015 蓝桥杯:6.加法变乘法

*/--> pre.src {background-color: Black; color: White;} pre.src {background-color: Black; color: White;} pre.src {background-color: Black; color: White;} pre.src {background-color: Black; color: White;} pre.src {background-color: Black; color: White;}