参考:https://blog.csdn.net/qq_30076791/article/details/50573512

第3题:

 #include<bits/stdc++.h>
using namespace std;
int ans=;
void dfs(int di,int hu,int num)
{
if (di==&&hu==&&num==)//要注意审题!酒要喝光
{
ans++;
return;
}
if (di)//如果有店可遇到
{
dfs(di-,hu,num*);
}
if (hu&&num>)//如果还有花可遇到且手上有酒
{
dfs(di,hu-,num-);
}
}
int main()
{
dfs(,,);
cout<<ans; return ;
}

第4题:注意判断的正确书写

 #include<bits/stdc++.h>
using namespace std;
int a[];
void show()
{
for (int i=;i<=;i++)
{
printf("[%d]",a[i]);
}
printf("\n\n");
}
int test()
{
int t=a[]+a[]+a[]+a[];
if (t==a[]+a[]+a[]+a[]&&t==a[]+a[]+a[]+a[]&&t==a[]+a[]+a[]+a[]&&t==a[]+a[]+a[]+a[]&&t==a[]+a[]+a[]+a[])
{//注意if里面要用多个&&来比较,不可用多个==来比较!!
return ;
}
return ;
}
int main()
{
for (int i=;i<=;i++)
{
a[i]=i;
}
do
{
// show();
if (test())
{
printf("%d\n",a[]);
break;
}
}while (next_permutation(a+,a+)); return ;
}
 #include<bits/stdc++.h>
using namespace std;
int a[];
int vis[];
void look()
{
for (int i=;i<=;i++)
{
printf("[%d]",a[i]);
}
printf("\n\n");
}
int test()
{
int t=a[]+a[]+a[]+a[];
if (t==a[]+a[]+a[]+a[]&&t==a[]+a[]+a[]+a[]&&t==a[]+a[]+a[]+a[]&&t==a[]+a[]+a[]+a[]&&t==a[]+a[]+a[]+a[])
{//注意if里面要用多个&&来比较,不可用多个==来比较!!
return ;
}
return ;
}
void dfs(int id,int remain)
{
if (remain==)
{
// look();
if (test())
printf("%d\n",a[]);
return;
}
for (int i=;i<=;i++)
{
if (vis[i]==)
{
a[id]=i;
vis[i]=;
dfs(id+,remain-);
vis[i]=;
}
}
}
int main()
{
a[]=;
a[]=;
a[]=;
vis[]=vis[]=vis[]=;
dfs(,); return ;
}

第九题:

 #include<bits/stdc++.h>
using namespace std;
const int N=1e9+;
int tu[][];
int n,m,k,ans=;
void test()
{
for (int i=;i<=n;i++)
{
for (int j=;j<=m;j++)
{
printf("[%d]",tu[i][j]);
}
printf("\n");
}
}
void read()
{
for (int i=;i<=n;i++)
{
for (int j=;j<=m;j++)
{
cin>>tu[i][j];
}
}
}
void dfs(int x,int y,int have,int most)
{
if (have>k)
return;
if (x==n&&y==m)//注意跳出条件!
{
if (have==k||have==k-&&most<tu[x][y])
{
ans++;
ans=ans%N;
}
}
if (x+<=n)
{
if (tu[x][y]>most)
{
swap(tu[x][y],most);
dfs(x+,y,have+,most);
swap(tu[x][y],most);
dfs(x+,y,have,most);
}
else
dfs(x+,y,have,most);
}
if (y+<=m)
{
if (tu[x][y]>most)
{
swap(tu[x][y],most);
dfs(x,y+,have+,most);
swap(tu[x][y],most);
dfs(x,y+,have,most);
}
else
dfs(x,y+,have,most);
}
}
int main()
{
// freopen("in.txt","r",stdin);
cin>>n>>m>>k;
read();
dfs(,,,-);
cout<<ans; return ;
}

2014年第五届蓝桥杯B组(C/C++)预赛题目及个人答案(欢迎指正)的更多相关文章

  1. 2014年第五届蓝桥杯javaB组 试题 答案 解析

    1.武功秘籍 小明到X山洞探险,捡到一本有破损的武功秘籍(2000多页!当然是伪造的).他注意到:书的第10页和第11页在同一张纸上,但第11页和第12页不在同一张纸上. 小明只想练习该书的第81页到 ...

  2. 2014年第五届蓝桥杯JavaB组省赛试题解析

    题目及解析如下: 题目大致介绍: 第一题到第三题以及第六题是结果填空,方法不限只要得到最后结果就行 第四题和第五题是代码填空题,主要考察算法基本功和编程基本功 第七题到第十题是编程题,要求编程解决问题 ...

  3. 2018年蓝桥杯A组C/C++决赛题目

    2018年蓝桥杯A组C/C++决赛题目 2018年蓝桥杯A组C/C++决赛题解     1:三角形面积 已知三角形三个顶点在直角坐标系下的坐标分别为: (2.3, 2.5) (6.4, 3.1) (5 ...

  4. 2016年蓝桥杯B组C/C++决赛题目

    2016年第七届蓝桥杯B组C/C++决赛题目 点击查看2016年第七届蓝桥杯B组C/C++决赛题解 1.一步之遥 从昏迷中醒来,小明发现自己被关在X星球的废矿车里. 矿车停在平直的废弃的轨道上. 他的 ...

  5. 2017年蓝桥杯B组C/C++决赛题目

    2017年第八届蓝桥杯B组C/C++决赛题目 点击查看2017年蓝桥杯B组C/C++决赛题解     1.36进制 对于16进制,我们使用字母A-F来表示10及以上的数字. 如法炮制,一直用到字母Z, ...

  6. 2018年蓝桥杯B组C/C++决赛题目

    自己的博客排版,自我感觉略好一点. 先放上题目. 点击查看2018年蓝桥杯B组C/C++决赛题目题解     1.换零钞 x星球的钞票的面额只有:100元,5元,2元,1元,共4种. 小明去x星旅游, ...

  7. 2015年蓝桥杯B组C/C++决赛题目

    2015年第六届蓝桥杯B组C/C++国赛题目 点击查看2015年第六届蓝桥杯B组C/C++国赛题解     1.积分之迷 小明开了个网上商店,卖风铃.共有3个品牌:A,B,C. 为了促销,每件商品都会 ...

  8. 2014年第五届蓝桥杯C/C++程序设计本科B组决赛

    1.年龄巧合(枚举) 2.出栈次序(推公式/Catalan数) 3.信号匹配(kmp) 4.生物芯片(完全平方数) 5.Log大侠(线段树) 6.殖民地 1.年龄巧合 小明和他的表弟一起去看电影,有人 ...

  9. 2014年第五届蓝桥杯试题C/C++程序设计B组——李白打酒

    题目描述: 标题:李白打酒 话说大诗人李白,一生好饮.幸好他从不开车. 一天,他提着酒壶,从家里出来,酒壶中有酒2斗.他边走边唱: 无事街上走,提壶去打酒. 逢店加一倍,遇花喝一斗. 这一路上,他一共 ...

随机推荐

  1. 为Linux设置IPTables防火墙

    我们 来讨论一下如何为你的CentOS 服务器来设置简单的防火墙. 这里我们以DigitalOcean的CentOS 6 VPS为基础来讨论的,同样也适用于 阿里云上其他类型的LINUX系统. (阿里 ...

  2. 13、Node.js 全局对象

    主要用于调试,显示信息,重点看例子在浏览器 JavaScript 中,通常 window 是全局对象, Node.js 中的全局对象是 global ####__filename__filename ...

  3. IOS http(上传和下载)

    HttpTool.h #import <Foundation/Foundation.h> typedef void (^HttpToolProgressBlock)(CGFloat pro ...

  4. [转] Spark-Sql On YARN自动调整Executor数配置

    在所有的NodeManager中,修改yarn-site.xml,为yarn.nodemanager.aux-services添加spark_shuffle值,并设置yarn.nodemanager. ...

  5. arc093F Dark Horse

    我们可以假设1的位置在1,并且依次与右边的区间合并.答案最后乘上2^n即可. 那么需要考虑1所在的区间与另一个区间合并时,另一个区间的最小值不能为特殊的. 直接求解很难,考虑容斥,钦定在哪几个位置必定 ...

  6. Hadoop学习之路(十八)MapReduce框架Combiner分区

    对combiner的理解 combiner其实属于优化方案,由于带宽限制,应该尽量map和reduce之间的数据传输数量.它在Map端把同一个key的键值对合并在一起并计算,计算规则与reduce一致 ...

  7. 洛谷P1832 A+B Problem(再升级)

    放题解 题目传送门 放代码 #include<bits/stdc++.h> using namespace std; ];//n为被分解数 a数组用于存储素数 ];//dp数组用于存储方案 ...

  8. 自己制作html页面用的字体图标。

    从网上看到的一个制作字体图标的教程,自己试用过,确实还不错,就把教程搬过来了,方便查看. 我们UI做出来矢量的图,放到这个软件里操作,下面有教程,之后输入.ttf或是.otf格式的字体,我是在网上找了 ...

  9. pem文件转p12

    p12->pem cer.p12: openssl pkcs12 -clcerts -nokeys -out cer.pem -in cer.p12 key.p12: openssl pkcs1 ...

  10. Notes 20180506 : Java程序设计语言概述

    2.Java程序设计语言概述 如果对于开发语言的排行榜有所关注的话,那么会发现很长一段时间以来Java都是位居榜首的高级开发语言,作为一个Java开发者,为此感到骄傲的同时也深感忧虑,骄傲的是自己接触 ...