随笔分类 - 蓝桥杯
部分练习总结
摘要:问题描述 有一个n个结点m条边的有向图,请输出他的关联矩阵。输入格式 第一行两个整数n、m,表示图中结点和边的数目。nint main(){ int g[101][1001],n,i,j,m,x,y; scanf("%d %d",&n,&m); for(i=1;i<=n;i++...
阅读全文
摘要:问题描述 Torry从小喜爱数学。一天,老师告诉他,像2、3、5、7……这样的数叫做质数。Torry突然想到一个问题,前10、100、1000、10000……个质数的乘积是多少呢?他把这个问题告诉老师。老师愣住了,一时回答不出来。于是Torry求助于会编程的你,请你算出前n个质数的乘积。不过,考虑...
阅读全文
摘要:时间限制:1.0s 内存限制:512.0MB问题描述 给两组数,各n个。 请调整每组数的排列顺序,使得两组数据相同下标元素对应相乘,然后相加的和最小。要求程序输出这个最小值。 例如两组数分别为:1 3 -5和-2 4 1 那么对应乘积取和的最小值应为: (-5) * 4 + 3 * (...
阅读全文
摘要:考生须知:考试时间为4小时。本试卷包含两种题型:“代码填空”与“程序设计”。总计100分。其中代码填空:3+4+4+5+6+9+10 = 41 分程序设计:15+16+28 = 59分填空题要求参赛选手在弄清给定代码工作原理的基础上填写缺失的部分,使得程序逻辑正确、完整。所填写的代码不超过一条语句(即不能出现分号)。把填空的答案(仅填空处的答案,不包括题面)存入考生文件夹下对应题号的“解答.txt”中即可。编程题要求选手设计的程序对于给定的输入能给出正确的输出结果。考生的程序只有能运行出正确结果的时候才有机会得分。注意:在评卷时使用的输入数据与试卷中给出的实例数据可能是不同的。选手的程序必须是
阅读全文
摘要:今盒子里有n个小球,A、B两人轮流从盒中取球,每个人都可以看到另一个人取了多少个,也可以看到盒中还剩下多少个,并且两人都很聪明,不会做出错误的判断。 我们约定: 每个人从盒子中取出的球的数目必须是:1,3,7或者8个。 轮到某一方取球时不能弃权! A先取球,然后双方交替取球,直到取完。 被迫拿到最后一个球的一方为负方(输方) 请编程确定出在双方都不判断失误的情况下,对于特定的初始球数,A是否能赢? 程序运行时,从标准输入获得数据,其格式如下: 先是一个整数n(n 2 #include 3 int a[10000]; 4 void f(int a[]) 5 { 6 int b[4]={1...
阅读全文
摘要:在对银行账户等重要权限设置密码的时候,我们常常遇到这样的烦恼:如果为了好记用生日吧,容易被破解,不安全;如果设置不好记的密码,又担心自己也会忘记;如果写在纸上,担心纸张被别人发现或弄丢了... 这个程序的任务就是把一串拼音字母转换为6位数字(密码)。我们可以使用任何好记的拼音串(比如名字,王喜明,就写:wangximing)作为输入,程序输出6位数字。 变换的过程如下: 第一步. 把字符串6个一组折叠起来,比如wangximing则变为: wangxi ming 第二步. 把所有垂直在同一个位置的字符的ascii码值相加,得出6个数字,如上面的例子,则得出: 228 202 220 206 1
阅读全文
摘要:某电视台举办了低碳生活大奖赛。题目的计分规则相当奇怪: 每位选手需要回答10个问题(其编号为1到10),越后面越有难度。答对的,当前分数翻倍;答错了则扣掉与题号相同的分数(选手必须回答问题,不回答按错误处理)。 每位选手都有一个起步的分数为10分。 某获胜选手最终得分刚好是100分,如果不让你看比赛过程,你能推断出他(她)哪个题目答对了,哪个题目答错了吗? 如果把答对的记为1,答错的记为0,则10个题目的回答情况可以用仅含有1和0的串来表示。例如:0010110011 就是可能的情况。 你的任务是算出所有可能情况。每个答案占一行。 答案写在“解答.txt”中,不要写在这里!参考答案:10110
阅读全文
摘要:古堡算式福尔摩斯到某古堡探险,看门上写着一个奇怪的算式:ABCDE * ? = EDCBAABCDE * ? = EDCBAABCDE * ? = EDCBAABCDE * ? = EDCBAABCDE * ? = EDCBAABCDE * ? = EDCBAABCDE * ? = EDCBA ABCDE * ? = EDCBAABCDE * ? = EDCBAABCDE * ? = EDCBA ABCDE * ? = EDCBAABCDE * ? = EDCBAABCDE * ? = EDCBAABCDE * ? = EDCBAABCDE * ? = EDCBA他对华生说:“ 他对华生说:“
阅读全文
摘要:美国数学家维纳(N.Wiener)智力早熟,11岁就上了大学。他曾在1935~1936年应邀来中国清华大学讲学。 一次,他参加某个重要会议,年轻的脸孔引人注目。 于是有人询问他的年龄,他回答说: “我年龄的立方是个4位数。 我年龄的4次方是个6位数。这10个数字正好包含了从0到9这10个数字,每个都
阅读全文
摘要:题目标题:第39级台阶小明刚刚看完电影《第39级台阶》,离开电影院的时候,他数了数礼堂前的台阶数,恰好是39级!站在台阶前,他突然又想着一个问题:如果我每一步只能迈上1个或2个台阶。先迈左脚,然后左右交替,最后一步是迈右脚,也就是说一共要走偶数步。那么,上完39级台阶,有多少种不同的上法呢?请你利用计算机的优势,帮助小明寻找答案。要求提交的是一个整数。状态c[i][0]表示走到第i个楼梯时最后一步是左脚的方法数,c[i][1]是右脚的方法数。。那么,由于每一步能上一到两级,c[i][0]=c[i-1][1]+c[i-2][1](因为最后一步为左脚,倒数第二步肯定为右脚。。)。。然后一直递推。。
阅读全文
摘要:标题: 马虎的算式 小明是个急性子,上小学的时候经常把老师写在黑板上的题目抄错了。 有一次,老师出的题目是:36 x 495 = ? 他却给抄成了:396 x 45 = ? 但结果却很戏剧性,他的答案竟然是对的!! 因为 36 * 495 = 396 * 45 = 17820 类似这样的巧合情况可能还有很多,比如:27 * 594 = 297 * 54 假设 a b c d e 代表1~9不同的5个数字(注意是各不相同的数字,且不含0) 能满足形如: ab * cde = adb * ce 这样的算式一共有多少种呢?请你利用计算机的优势寻找所有的可能,并回答不同算式的种类数。满...
阅读全文
摘要:1 #include 2 int m[13]; 3 int year(int i) 4 { 5 if(i%400==0||i%4==0&&i%100!=0) 6 return 1; 7 else 8 return 0; 9 }10 int sum(int y,int mon,int d)11 {12 13 14 int ans=0,i;15 if(year(y))16 m[2]=29;17 else18 m[2]=28;19 for(i=1;i<y;i++)20 {21 i...
阅读全文
摘要:题目标题: 排它平方数小明正看着 203879 这个数字发呆。原来,203879 * 203879 = 41566646641这有什么神奇呢?仔细观察,203879 是个6位数,并且它的每个数位上的数字都是不同的,并且它平方后的所有数位上都不出现组成它自身的数字。具有这样特点的6位数还有一个,请你找出它!再归纳一下筛选要求:1. 6位正整数2. 每个数位上的数字不同3. 其平方数的每个数位不含原数字的任何组成数位答案是一个6位的正整数。请通过浏览器提交答案。注意:只提交另一6位数,题中已经给出的这个不要提交。注意:不要书写其它的内容(比如:说明性的文字)。 1 #include 2 #incl
阅读全文
摘要:问题描述如下图所示,3 x 3 的格子中填写了一些整数。+--*--+--+|10* 1|52|+--****--+|20|30* 1|*******--+| 1| 2| 3|+--+--+--+我们沿着图中的星号线剪开,得到两个部分,每个部分的数字和都是60。本题的要求就是请你编程判定:对给定的m x n 的格子中的整数,是否可以分割为两个部分,使得这两个区域的数字和相等。如果存在多种解答,请输出包含左上角格子的那个区域包含的格子的最小数目。如果无法分割,则输出 0。输入格式程序先读入两个整数 m n 用空格分割 (m,n 2 int sx[4]={0,1,0,-1}; 3 int sy[4
阅读全文
摘要:问题描述小明正在玩一个“翻硬币”的游戏。桌上放着排成一排的若干硬币。我们用 * 表示正面,用 o 表示反面(是小写字母,不是零)。比如,可能情形是:**oo***oooo如果同时翻转左边的两个硬币,则变为:oooo***oooo现在小明的问题是:如果已知了初始状态和要达到的目标状态,每次只能同时翻转相邻的两个硬币,那么对特定的局面,最少要翻动多少次呢?我们约定:把翻动相邻的两个硬币叫做一步操作,那么要求:输入格式两行等长的字符串,分别表示初始状态和要达到的目标状态。每行的长度 2 #include 3 int main() 4 { 5 char s1[1000],s2[1000]; 6...
阅读全文
摘要:问题描述小明开了一家糖果店。他别出心裁:把水果糖包成4颗一包和7颗一包的两种。糖果不能拆包卖。小朋友来买糖的时候,他就用这两种包装来组合。当然有些糖果数目是无法组合出来的,比如要买 10 颗糖。你可以用计算机测试一下,在这种包装情况下,最大不能买到的数量是17。大于17的任何数字都可以用4和7组合出来。本题的要求就是在已知两个包装的数量时,求最大不能组合出的数字。输入格式两个正整数,表示每种包装中糖的颗数(都不多于1000)输出格式一个正整数,表示最大不能买到的糖数样例输入14 7样例输出117样例输入23 5样例输出27上界是最小公倍数,然后枚举,所有情况。 1 #include 2 #in
阅读全文
摘要:121379陈泽泽错误票据03-06 15:36646BC++正确1000ms856.0KB评测详情历届试题 错误票据 时间限制:1.0s 内存限制:256.0MB问题描述某涉密单位下发了某种票据,并要在年终全部收回。每张票据有唯一的ID号。全年所有票据的ID号是连续的,但ID的开始数码是随机选定的。因为工作人员疏忽,在录入ID号的时候发生了一处错误,造成了某个ID断号,另外一个ID重号。你的任务是通过编程,找出断号的ID和重号的ID。假设断号不可能发生在最大和最小号。输入格式要求程序首先输入一个整数N(N#include#include#includeusing namespace std.
阅读全文
摘要:1 #include 2 #include 3 #include 4 using namespace std; 5 int a[50005]; 6 int main() 7 { 8 int i,j,maxn,minn,n,ans=0; 9 scanf("%d",&n);10 for(i=1;i<=n;i++)11 scanf("%d",&a[i]);12 for(i=1;i<=n;i++)13 {14 minn=n;15 maxn=1;16 for(j=i;j<=n;j++)17 ...
阅读全文
摘要:标题:带分数 100 可以表示为带分数的形式:100 = 3 + 69258 / 714 还可以表示为:100 = 82 + 3546 / 197 注意特征:带分数中,数字1~9分别出现且只出现一次(不包含0)。 类似这样的带分数,100 有 11 种表示法。题目要求:从标准输入读入一个正整数N (N 2 #include 3 #include 4 5 int number, n = 0; 6 int list[9] = {1, 2, 3, 4, 5, 6, 7, 8, 9}; 7 8 int test; 9 10 void swap(int *a, int *b)11 {12...
阅读全文
摘要:1 #include 2 #define max 0xffffff 3 int g[20001][20001]; //图的邻接矩阵 4 int dist[20001]; 5 int n;//顶点个数 6 int m;//边个数 7 struct Edge 8 { 9 int u, v, w; //边:起点、终点、权值 10 }; 11 Edge e[200001]; 12 bool bellman_ford(int n)//bellman-ford算法 13 { 14 int i, k, t,j; 15 for(i=0;i 2 #def...
阅读全文