蓝桥杯题库及答案python版_蓝桥杯试题库的历届真题版.doc

1.历届试题 矩阵翻硬币

时间限制:1.0s   内存限制:256.0MB

问题描述

小明先把硬币摆成了一个 n 行 m 列的矩阵。  随后,小明对每一个硬币分别进行一次 Q 操作。  对第x行第y列的硬币进行 Q 操作的定义:将所有第 i*x 行,第 j*y 列的硬币进行翻转。  其中i和j为任意使操作可行的正整数,行号和列号都是从1开始。  当小明对所有硬币都进行了一次 Q 操作后,他发现了一个奇迹——所有硬币均为正面朝上。  小明想知道最开始有多少枚硬币是反面朝上的。于是,他向他的好朋友小M寻求帮助。  聪明的小M告诉小明,只需要对所有硬币再进行一次Q操作,即可恢复到最开始的状态。然而小明很懒,不愿意照做。于是小明希望你给出他更好的方法。帮他计算出答案。

输入格式

输入数据包含一行,两个正整数 n m,含义见题目描述。

输出格式

输出一个正整数,表示最开始有多少枚硬币是反面朝上的。

样例输入

2 3

样例输出

1

数据规模和约定

对于10%的数据,n、m <= 10^3;  对于20%的数据,n、m <= 10^7;  对于40%的数据,n、m <= 10^15;  对于10%的数据,n、m <= 10^1000(10的1000次方)。

2.历届试题 兰顿蚂蚁

时间限制:1.0s   内存限制:256.0MB

问题描述

兰顿蚂蚁,是于1986年,由克里斯·兰顿提出来的,属于细胞自动机的一种。  平面上的正方形格子被填上黑色或白色。在其中一格正方形内有一只“蚂蚁”。  蚂蚁的头部朝向为:上下左右其中一方。  蚂蚁的移动规则十分简单:  若蚂蚁在黑格,右转90度,将该格改为白格,并向前移一格;  若蚂蚁在白格,左转90度,将该格改为黑格,并向前移一格。  规则虽然简单,蚂蚁的行为却十分复杂。刚刚开始时留下的路线都会有接近对称,像是会重复,但不论起始状态如何,蚂蚁经过漫长的混乱活动后,会开辟出一条规则的“高速公路”。  蚂蚁的路线是很难事先预测的。  你的任务是根据初始状态,用计算机模拟兰顿蚂蚁在第n步行走后所处的位置。

输入格式

输入数据的第一行是 m n 两个整数(3 < m, n < 100),表示正方形格子的行数和列数。  接下来是 m 行数据。  每行数据为 n 个被空格分开的数字。0 表示白格,1 表示黑格。  接下来是一行数据:x y s k, 其中x y为整数,表示蚂蚁所在行号和列号(行号从上到下增长,列号从左到右增长,都是从0开始编号)。s 是一个大写字母,表示蚂蚁头的朝向,我们约定:上下左右分别用:UDLR表示。k 表示蚂蚁走的步数。

输出格式

输出数据为两个空格分开的整数 p q, 分别表示蚂蚁在k步后,所处格子的行号和列号。

样例输入

5 60 0 0 0 0 00 0 0 0 0 00 0 1 0 0 00 0 0 0 0 00 0 0 0 0 02 3 L 5

样例输出

1 3

样例输入

3 30 0 01 1 11 1 11 1 U 6

样例输出

0 0

3.历届试题 分糖果

时间限制:1.0s   内存限制:256.0MB

问题描述

有n个小朋友围坐成一圈。老师给每个小朋友随机发偶数个糖果,然后进行下面的游戏:  每个小朋友都把自己的糖果分一半给左手边的孩子。  一轮分糖后,拥有奇数颗糖的孩子由老师补给1个糖果,从而变成偶数。  反复进行这个游戏,直到所有小朋友的糖果数都相同为止。  你的任务是预测在已知的初始糖果情形下,老师一共需要补发多少个糖果。

输入格式

程序首先读入一个整数N(2

输出格式

要求程序输出一个整数,表示老师需要补发的糖果数。

样例输入

32 2 4

样例输出

4

4.历届试题 小朋友排队

时间限制:1.0s   内存限制:256.0MB

问题描述

n 个小朋友站成一排。现在要把他们按身高从低到高的顺序排列,但是每次只能交换位置相邻的两个小朋友。  每个小朋友都有一个不高兴的程度。开始的时候,所有小朋友的不高兴程度都是0。  如果某个小朋友第一次被要求交换,则他的不高兴程度增加1,如果第二次要求他交换,则他的不高兴程度增加2(即不高兴程度为3),依次类推。当要求某个小朋友第k次交换时,他的不高兴程度增加k。  请问,要让所有小朋友按从低到高排队,他们的不高兴程度之和最小是多少。  如果有两个小朋友身高一样,则他们谁站在谁前面是没有关系的。

输入格式

输入的第一行包含一个整数n,表

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值