2012蓝桥杯决赛题

【结果填空】 (满分5分)
1949年的国庆节(10月1日)是星期六。
今年(2012)的国庆节是星期一。
那么,从建国到现在,有几次国庆节正好是星期日呢?

只要答案,不限手段!

可以用windows日历,windows计算器,Excel公式,。。。。。

当然,也可以编程!

不要求写出具体是哪些年,只要一个数目!

千万不要提交源代码!
答案不要写在这里,写在“解答.txt”中
10 11 12
31 30 31
30 + 30 + 31
6 7 1 2 3 4 5
1 2 3 4 5 6

7 8 9 10 11

#include<iostream>
using namespace std;
#pragma warning(disable : 4996)

int month[] = {0, 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};

bool check(int year)
{
	if(year % 4 == 0 && year % 100 != 0 || year % 400 == 0)
	{
		return true;
	}
	else
	{
		return false;
	}
}

int main()
{
	int days, ans, i, j;
	days = 91;
	ans = 0;
	for (i = 1950; i <= 2013; i++)
	{
		if (check(i))
		{
			month[2] = 29;
			for (j = 1; j <= 9; j++)
			{
				days += month[j];
			}
			days += 1;
			if(days % 7 == 1)
			{
				ans++;
				cout << "Year = " << i << endl;
			}
			days += month[10] + month[11] + month[12] - 1;
		}
		else
		{
			month[2] = 28;
			for (j = 1; j <= 9; j++)
			{
				days += month[j];
			}
			days += 1;
			if(days % 7 == 1)
			{
				ans++;
				cout << "Year = " << i << endl;
			}
			days += month[10] + month[11] + month[12] - 1;
		}
	}
	cout << "ans = " << ans << endl;
	return 0;
}
Year = 1950
Year = 1961
Year = 1967
Year = 1972
Year = 1978
Year = 1989
Year = 1995
Year = 2000
Year = 2006
ans = 9
请按任意键继续. . .




【编程题】(满分19分)
在很多软件中,输入拼音的首写字母就可以快速定位到某个词条。比如,在铁路售票软件中,输入: “bj”就可以定位到“北京”。怎样在自己的软件中实现这个功能呢?问题的关键在于:对每个汉字必须能计算出它的拼音首字母。
GB2312汉字编码方式中,一级汉字的3755个是按照拼音顺序排列的。我们可以利用这个特征,对常用汉字求拼音首字母。
GB2312编码方案对每个汉字采用两个字节表示。第一个字节为区号,第二个字节为区中的偏移号。为了能与已有的ASCII编码兼容(中西文混排),区号和偏移编号都从0xA1开始.
我们只要找到拼音a,b,c,...x,y,z 每个字母所对应的GB2312编码的第一个汉字,就可以定位所有一级汉字的拼音首字母了(不考虑多音字的情况)。下面这个表给出了前述信息。请你利用该表编写程序,求出常用汉字的拼音首字母。
a 啊 B0A1
b 芭 B0C5
c 擦 B2C1
d 搭 B4EE
e 蛾 B6EA
f 发 B7A2
g 噶 B8C1
h 哈 B9FE
j 击 BBF7
k 喀 BFA6
l 垃 C0AC
m 妈 C2E8
n 拿 C4C3
o 哦 C5B6
p 啪 C5BE
q 期 C6DA
r 然 C8BB
s 撒 C8F6
t 塌 CBFA
w 挖 CDDA
x 昔 CEF4
y 压 D1B9
z 匝 D4D1
【输入、输出格式要求】
用户先输入一个整数n (n<100),表示接下来将有n行文本。接着输入n行中文串(每个串不超过50个汉字)。
程序则输出n行,每行内容为用户输入的对应行的汉字的拼音首字母。
字母间不留空格,全部使用大写字母。
例如:
用户输入:
3
大家爱科学
北京广场
软件大赛
则程序输出:
DJAKX
BJTAMGC
RJDS

#include <iostream>
#include <string>
#include <vector>
using namespace std;
#pragma warning(disable : 4996)
vector<string>vec;
vector<char>dict;

void init()
{
	vec.push_back("啊"); vec.push_back("芭"); vec.push_back("擦"); vec.push_back("搭");
	vec.push_back("蛾"); vec.push_back("发"); vec.push_back("噶"); vec.push_back("哈");
	vec.push_back("击"); vec.push_back("喀"); vec.push_back("垃"); vec.push_back("妈");
	vec.push_back("拿"); vec.push_back("哦"); vec.push_back("啪"); vec.push_back("期");
	vec.push_back("然"); vec.push_back("撒"); vec.push_back("塌"); vec.push_back("挖"); 
	vec.push_back("昔"); vec.push_back("压"); vec.push_back("匝");
	dict.push_back('A'); dict.push_back('B'); dict.push_back('C'); dict.push_back('D');
	dict.push_back('E'); dict.push_back('F'); dict.push_back('G'); dict.push_back('H');
	dict.push_back('J'); dict.push_back('K'); dict.push_back('L'); dict.push_back('M');
	dict.push_back('N'); dict.push_back('O'); dict.push_back('P'); dict.push_back('Q');
	dict.push_back('R'); dict.push_back('S'); dict.push_back('T'); dict.push_back('W');
	dict.push_back('X'); dict.push_back('Y'); dict.push_back('Z');
}

void check(string word)
{
	for(int i = 0; i < vec.size() - 1; i++)
	{
		if(word >= vec[i] && word < vec[i+1])
		{
			cout << dict[i];
			break;
		}
	}
}

int main()
{
	freopen("in.txt", "r", stdin);
	string str, word;
	init();
	int n;
	cin >> n;
	while (n--)
	{
		cin >> str;
		for (int i = 0; i < str.size(); i += 2)
		{
			word = str.substr(i, 2);
			check(word);
		}
		cout << endl;
	}
	return 0;
}
【编程题】(满分27分)
脱氧核糖核酸即常说的DNA,是一类带有遗传信息的生物大分子。它由4种主要的脱氧核苷酸(dAMP、dGMP、dCMT和dTMP)通过磷酸二酯键连接而成。这4种核苷酸可以分别记为:A、G、C、T。
DNA携带的遗传信息可以用形如:AGGTCGACTCCA.... 的串来表示。DNA在转录复制的过程中可能会发生随机的偏差,这才最终造就了生物的多样性。
为了简化问题,我们假设,DNA在复制的时候可能出现的偏差是(理论上,对每个碱基被复制时,都可能出现偏差):
1. 漏掉某个脱氧核苷酸。例如把 AGGT 复制成为:AGT
2. 错码,例如把 AGGT 复制成了:AGCT
3. 重码,例如把 AGGT 复制成了:AAGGT
如果某DNA串a,最少要经过 n 次出错,才能变为DNA串b,则称这两个DNA串的距离为 n。
例如:AGGTCATATTCC 与 CGGTCATATTC 的距离为 2
你的任务是:编写程序,找到两个DNA串的距离。
【输入、输出格式要求】
用户先输入整数n(n<100),表示接下来有2n行数据。
接下来输入的2n行每2行表示一组要比对的DNA。(每行数据长度<10000)
程序则输出n行,表示这n组DNA的距离。
例如:用户输入:
3
AGCTAAGGCCTT
AGCTAAGGCCT
AGCTAAGGCCTT
AGGCTAAGGCCTT
AGCTAAGGCCTT
AGCTTAAGGCTT


则程序应输出:
1
1
2
#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
#pragma warning(disable : 4996)
using namespace std;
const int MAXN = 10005;

char dest[MAXN];
char str[MAXN];
int dp[MAXN][MAXN];

int DP(int x, int y)
{
	int i, j;
	for(i = 0; i <= x; i++)
		dp[i][0] = i;
	for(j = 0; j <= y; j++)
		dp[0][j] = j;
	for(i = 1; i <= x; i++)
	{
		for(j = 1; j <= y; j++)
		{
			if(dest[i-1] == str[j-1])
			{
				dp[i][j] = dp[i-1][j-1];
			}
			else
			{
				dp[i][j] = min(min(dp[i-1][j], dp[i][j-1]), dp[i-1][j-1]) + 1;
			}
		}
	}
	return dp[x][y];
}

int main()
{
	freopen("in.txt", "r", stdin);
	int n;
	cin >> n;
	while (n--)
	{
		cin >> dest >> str;
		int dest_len = strlen(dest);
		int str_len = strlen(str);
		cout << DP(dest_len,str_len) << endl;
	}
	return 0;
}





  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
水资源是人类社会的宝贵财富,在生活、工农业生产中是不可缺少的。随着世界人口的增长及工农业生产的发展,需水量也在日益增长,水已经变得比以往任何时候都要珍贵。但是,由于人类的生产和生活,导致水体的污染,水质恶化,使有限的水资源更加紧张。长期以来,油类物质(石油类物质和动植物油)一直是水和土壤中的重要污染源。它不仅对人的身体健康带来极大危害,而且使水质恶化,严重破坏水体生态平衡。因此各国都加强了油类物质对水体和土壤的污染的治理。对于水中油含量的检测,我国处于落后阶段,与国际先进水平存在差距,所以难以满足当今技术水平的要求。为了取得具有代表性的正确数据,使分析数据具有与现代测试技术水平相应的准确性和先进性,不断提高分析成果的可比性和应用效果,检测的方法和仪器是非常重要的。只有保证了这两方面才能保证快速和准确地测量出水中油类污染物含量,以达到保护和治理水污染的目的。开展水中油污染检测方法、技术和检测设备的研究,是提高水污染检测的一条重要措施。通过本课的研究,探索出一套适合我国国情的水质污染现场检测技术和检测设备,具有广泛的应用前景和科学研究价值。 本课针对我国水体的油污染,探索一套检测油污染的可行方案和方法,利用非分散红外光度法技术,开发研制具有自主知识产权的适合国情的适于野外便携式的测油仪。利用此仪器,可以检测出被测水样中亚甲基、甲基物质和动植物油脂的污染物含量,为我国众多的环境检测站点监测水体的油污染状况提供依据。
### 内容概要 《计算机试卷1》是一份综合性的计算机基础和应用测试卷,涵盖了计算机硬件、软件、操作系统、网络、多媒体技术等多个领域的知识点。试卷包括单选和操作应用两大类,单选部分测试学生对计算机基础知识的掌握,操作应用部分则评估学生对计算机应用软件的实际操作能力。 ### 适用人群 本试卷适用于: - 计算机专业或信息技术相关专业的学生,用于课程学习或考试复习。 - 准备计算机等级考试或职业资格认证的人士,作为实战演练材料。 - 对计算机操作有兴趣的自学者,用于提升个人计算机应用技能。 - 计算机基础教育工作者,作为教学资源或出参考。 ### 使用场景及目标 1. **学习评估**:作为学校或教育机构对学生计算机基础知识和应用技能的评估工具。 2. **自学测试**:供个人自学者检验自己对计算机知识的掌握程度和操作熟练度。 3. **职业发展**:帮助职场人士通过实际操作练习,提升计算机应用能力,增强工作竞争力。 4. **教学资源**:教师可以用于课堂教学,作为教学内容的补充或学生的课后练习。 5. **竞赛准备**:适合准备计算机相关竞赛的学生,作为强化训练和技能检测的材料。 试卷的目标是通过系统性的目设计,帮助学生全面复习和巩固计算机基础知识,同时通过实际操作目,提高学生解决实际问的能力。通过本试卷的学习与练习,学生将能够更加深入地理解计算机的工作原理,掌握常用软件的使用方法,为未来的学术或职业生涯打下坚实的基础。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值