(蓝桥)2017C/C++A组第七题正则问题】的更多相关文章

#include<iostream> #include<memory.h> #include<stack> #include<string> using namespace std; /* 主要思想是,利用栈,将输入的字符一个个压入栈中,遇到右括号,则弹出,直到 遇到左括号,然后将弹出的字符串进行解析,找到所代表的字符串,然后再压入栈中 最后栈中剩下的就是没有括号的表达式了,然后再解析一遍表达式,就得到答案了 */ int main() { stack<…
标题:螺旋折线 如图p1.pgn所示的螺旋折线经过平面上所有整点恰好一次. 对于整点(X, Y),我们定义它到原点的距离dis(X, Y)是从原点到(X, Y)的螺旋折线段的长度. 例如dis(0, 1)=3, dis(-2, -1)=9 给出整点坐标(X, Y),你能计算出dis(X, Y)吗? [输入格式]X和Y 对于40%的数据,-1000 <= X, Y <= 1000 对于70%的数据,-100000 <= X, Y <= 100000 对于100%的数据, -10000…
问题来源:第五届蓝桥预赛本科B组第8题 问题描述:有在一条定长(100cm)的直杆上有n(1<n<50)只蚂蚁(每只蚂蚁的起点都不一样),他们都以相同的速度(1cm/s)向左或者向右爬, 当两只蚂蚁碰面时,它们会同时掉头往相反的方向爬行. 这些蚂蚁中,有1只蚂蚁感冒了.并且在和其它蚂蚁碰面时,会把感冒传染给碰到的蚂蚁. 请你计算,当所有蚂蚁都爬离杆子时,有多少只蚂蚁患上了感冒. 问题分析:1.两只蚂蚁碰面时,往相反方向爬行,等价于两只蚂蚁相遇后继续爬行(只不过换了蚂蚁). 2.如果感冒蚂蚁(s…
剪邮票 如[图1.jpg], 有12张连在一起的12生肖的邮票.现在你要从中剪下5张来,要求必须是连着的.(仅仅连接一个角不算相连)比如,[图2.jpg],[图3.jpg]中,粉红色所示部分就是合格的剪取. 请你计算,一共有多少种不同的剪取方法. 请填写表示方案数目的整数.注意:你提交的应该是一个整数,不要填写任何多余的内容或说明性文字. -------------------------------------------------------------------------------…
#include<iostream> #include<memory.h> using namespace std; char mi[10][10] ; int visited[10][10]; int sum=0; int main() { for(int i=0;i<10;i++) for(int j=0;j<10;j++) cin>>mi[i][j]; for(int i=0;i<10;i++) for(int j=0;j<10;j++)…
题意:有12张连在一起的12生肖的邮票.现在你要从中剪下5张来,要求必须是连着的.(仅仅连接一个角不算相连) 分析:暴力+并查集. 1.记录下每个数字所在位置. 2.先枚举各不相同的5个数的所有可能情况(不包括数字种类相同但次序不同的情况). 2.然后判断若其中某两个数字相邻则加入一个连通块,如果最终只有一个连通块,说明5个数字是通过相邻关系连在一起的,符合要求. #include<cstdio> #include<cstring> #include<cstdlib>…
愤怒小鸟 X星球愤怒的小鸟喜欢撞火车! 一根平直的铁轨上两火车间相距 1000 米两火车 (不妨称A和B) 以时速 10米/秒 相对行驶. 愤怒的小鸟从A车出发,时速50米/秒,撞向B车,然后返回去撞A车,再返回去撞B车,如此往复....两火车在相距1米处停车. 问:这期间愤怒的小鸟撞 B 车多少次? 注意:需要提交的是一个整数(表示撞B车的次数),不要填写任何其它内容. public class one { static int count = 0; public static void ma…
标题:最大公共子串 最大公共子串长度问题就是:求两个串的所有子串中能够匹配上的最大长度是多少. 比如:"abcdkkk" 和 "baabcdadabc",可以找到的最长的公共子串是"abcd",所以最大公共子串长度为4. 下面的程序是采用矩阵法进行求解的,这对串的规模不大的情况还是比较有效的解法. 请分析该解法的思路,并补全划线部分缺失的代码 /蓝桥杯第六题 public class Main { static int f(String s1,…
九数组分数 1,2,3…9 这九个数字组成一个分数,其值恰好为1/3,如何组法? 下面的程序实现了该功能,请填写划线部分缺失的代码. public class A { public static void test(int[] x) { int a = x[0]*1000 + x[1]*100 + x[2]*10 + x[3]; int b = x[4]*10000 + x[5]*1000 + x[6]*100 + x[7]*10 + x[8]; if(a*3==b) System.out.pr…
第四题 两个整数做除法,有时会产生循环小数,其循环部分称为:循环节. 比如,11/13=6=>0.846153846153….. 其循环节为[846153] 共有6位. 下面的方法,可以求出循环节的长度. 请仔细阅读代码,并填写划线部分缺少的代码. public static int f(int n, int m) { n = n % m; Vector v = new Vector(); for(;;) { v.add(n); n *= 10; n = n % m; if(n==0) retu…