寒假练习 01

这一系列的练习主要在Virtual Judge上进行,题目为小白书上的题目推荐。

UVa 10055

注意两个数的大小关系,水题。

#include <iostream>

using namespace std;

int main()
{
	long long x, y;
	while(cin >> x >> y)
	{
		if(x > y) { swap(x, y); }
		cout << y - x << endl;
	}
	return 0;
}

UVa 10071

水题。

#include <iostream>

using namespace std;

int main()
{
	int x, y;
	while(cin >> x >> y)
	{ cout << x * y * 2 << endl; }
	return 0;
}

  

UVa 10300

根据题目描述推导公式,水题。

#include <iostream>

using namespace std;

int main()
{
	int T, N, x, y, z;
	cin >> T;
	for(int i = 1; i <= T; i++)
	{
		int ans = 0;
		cin >> N;
		for(int j = 1; j <= N; j++)
		{
			cin >> x >> y >> z;
			ans += x * z;
		}
		cout << ans << endl;
	}
}

  

UVa 458

凯撒密码,水题。

#include <iostream>
#include <string>

using namespace std;

int main()
{
	string x;
	while(getline(cin, x))
	{
		for(int i = 0; i < x.length(); i++)
		{ cout << (char)(x[i] - 7); }
		cout << endl;
	}
	return 0;
}

  

UVa 494

一开始想通过计算空格数来计算单词个数,后来发现不行,只好使用原始的模拟方法。水题。

#include <iostream>
#include <string>

using namespace std;

int main()
{
	string x, y;
	while(getline(cin, x))
	{
		y = "";
		int ans = 0;
		for(int i = 0; i < x.length(); i++)
		{
			if(x[i] >= ‘A‘ && x[i] <= ‘Z‘ ||
		 		x[i] >= ‘a‘ && x[i] <= ‘z‘)
			{ y += x[i]; }
			else
			{
				if(y != "") { ans++; y = ""; }
			}
		}
		cout << ans << endl;
	}
	return 0;
}

  

UVa 414

英语不好,题目看了半天,找了翻译,才看懂题目。看懂以后直接公式就出来了。水题。

#include <iostream>
#include <string>

using namespace std;

int main()
{
	int N;
	string x;
	while(cin >> N)
	{
		cin.get();
		if(!N) { break; }
		int nTotal = 0, nMin = 2147483647;
		for(int i = 1; i <= N; i++)
		{
			int nTmp = 0;
			getline(cin, x);
			for(int j = 0; j < x.length(); j++)
			{
				if(x[j] == ‘ ‘) { nTmp++; }
			}
			nTotal += nTmp;
			nMin = min(nMin, nTmp);
		}
		cout << nTotal - nMin * N << endl;
	}
	return 0;
}

  

UVa 490

这个处理要注意没有字符的时候输出空格,否则会PE。水题。

#include <iostream>
#include <string>

using namespace std;

const int MAX = 128;

string strTmp[MAX];

int main()
{
	int nPos = 0, nLen = 0;
	while(getline(cin, strTmp[++nPos]))
	{ nLen = max(nLen, (int)strTmp[nPos].length()); }
	for(int j = 0; j < nLen; j++)
	{
		for(int i = nPos - 1; i >= 1; i--)
		{
			if(j < strTmp[i].length())
			{ cout << strTmp[i][j]; }
			else
			{ cout << " "; }
		}
		cout << endl;
	}
	return 0;
}

int max(int x, int y)
{ return x > y ? x : y; }

  

UVa 445

朴素的字符串处理题,注意换行的处理。水题。

#include <iostream>
#include <string>

using namespace std;

string x;

int main()
{
	while(getline(cin, x))
	{
		int nPos = 0;
		while(nPos < x.length())
		{
			int nCnt = 0;
			if(x[nPos] == ‘!‘) { cout << endl; }
			while(x[nPos] >= ‘0‘ && x[nPos] <= ‘9‘)
			{
				nCnt += x[nPos] - ‘0‘;
				nPos++;
			}
			for(int i = 1; i <= nCnt; i++)
			{
				if(x[nPos] == ‘b‘) { cout << " "; }
				else { cout << x[nPos]; }
			}
			nPos++;
		}
		cout << endl;
	}
	return 0;
}

  

UVa 488

水题。

#include <iostream>

using namespace std;

void Tri(int x);

int main()
{
	int T, N, M;
	cin >> T;
	for(int i = 1; i <= T; i++)
	{
		cin >> N >> M;
		for(int j = 1; j <= M; j++)
		{
			Tri(N);
			if(j != M) { cout << endl; }
		}
		if(i != T) { cout << endl; }
	}
}

void Tri(int x)
{
	for(int i = 1; i <= x - 1; i++)
	{
		for(int j = 1; j <= i; j++)
		{ cout << i; }
		cout << endl;
	}
	for(int i = 1; i <= x; i++)
	{ cout << x; }
	cout << endl;
	for(int i = x - 1; i >= 1; i--)
	{
		for(int j = i; j >= 1; j--)
		{ cout << i; }
		cout << endl;
	}
}

  

UVa 489

还是英语不好,百度了游戏规则才看懂了题目。看懂以后就是水题了。

#include <iostream>
#include <string>
#include <memory.h>

using namespace std;

const int MAX = 32;

bool pVisited[MAX];

int main()
{
	int N;
	string x, y;
	while(cin >> N)
	{
		if(N == -1) { break; }
		bool bFlag = true;
		int nCnt = 0, nTmp = 0, nWrong = 0;
		memset(pVisited, false, sizeof(pVisited));
		cout << "Round " << N << endl;
		cin >> x >> y;
		for(int i = 0; i < x.length(); i++)
		{
			if(!pVisited[x[i] - ‘a‘])
			{
				pVisited[x[i] - ‘a‘] = true;
				nCnt++;
			}
		}
		for(int i = 0; i < y.length(); i++)
		{
			if(pVisited[y[i] - ‘a‘])
			{
				pVisited[y[i] - ‘a‘] = false;
				nTmp++;
			}
			else { nWrong++; }
			if(nTmp == nCnt && nWrong < 7) { bFlag = true; break; }
			if(nTmp != nCnt && nWrong >= 7) { bFlag = false; break; }
		}
		if(bFlag)
		{
			if(nTmp == nCnt) { cout << "You win." << endl; }
			else { cout << "You chickened out." << endl; }
		}
		else { cout << "You lose." << endl; }
	}
	return 0;
}

  

UVa 694

又是3n + 1问题,一开始总是TLE,位运算以后还是TLE,后来发现用了int,中间值会溢出,所以表面上是TLE,实际上已经WA了。或许这就是TLE有可能是WA的一个很好的例子吧。

#include <stdio.h>

int main()
{
	long long A, L, nCase = 0;
	while(scanf("%lld%lld", &A, &L) != EOF)
	{
		if(A == -1 && L == -1) { break; }
		printf("Case %lld: A = %lld, limit = %lld, number of terms = ", ++nCase, A, L);
		long long nCnt = 0;
		while(A <= L)
		{
			nCnt++;
			if(A == 1) { break; }
			if(A & 1) { A = 3 * A + 1; }
			else { A >>= 1; }
		}
		printf("%lld\n", nCnt);
	}
	return 0;
}

  

UVa 457

感觉像模拟细胞生命的游戏,模拟即可,水题。

#include <iostream>
#include <memory.h>

using namespace std;

const int MAX = 64;

int pData[MAX], pDish[MAX][2];

int main()
{
	int T;
	cin >> T;
	for(int i = 1; i <= T; i++)
	{
		memset(pDish, 0, sizeof(pDish));
		pDish[20][0] = 1;
		for(int j = 0; j < 10; j++)
		{ cin >> pData[j]; }
		for(int j = 1; j <= 50; j++)
		{
			for(int k = 1; k <= 40; k++)
			{
				if(pDish[k][0] == 0) { cout << " "; }
				if(pDish[k][0] == 1) { cout << "."; }
				if(pDish[k][0] == 2) { cout << "x"; }
				if(pDish[k][0] == 3) { cout << "W"; }
			}
			for(int k = 1; k <= 40; k++)
			{
				int nCnt = pDish[k - 1][0] + pDish[k][0] + pDish[k + 1][0];
				pDish[k][1] = pData[nCnt];
			}
			for(int k = 1; k <= 40; k++)
			{ pDish[k][0] = pDish[k][1]; }
			cout << endl;
		}
		if(i != T) { cout << endl; }
	}
	return 0;
}

  

总结一下,刷了12道水题,发现比sgu简单多了,就这样穿插着刷一刷小白书吧。

时间: 2024-10-16 13:10:16

寒假练习 01的相关文章

寒假作业01

1.对大一上学期进行总结:包括本学期的收获(课内+课外).本学期存在的问题及反思. 充实.融洽,大一上学期是高中和大学的衔接点,没有了高中繁忙的作业,大学相对的轻松环境,有了更多的自由时间.除了自身基础较弱的英语课外,其余课程都能紧跟老师的步伐,能够独立的完成老师布置的作业,同时通过大一上学期的认识,使我对本专业有了更为全面的了解,对以后学期的课程安排.学习进程都有一定的理解.大学更注重的是自主学习,与高中的学习方式有明显不同,这就需要我们修改自我学习方式,主动地拓宽自己的视野,多方面.多角度的

2020寒假学习01 Scala 编程初级实践

1. 计算级数请用脚本的方式编程计算并输出下列级数的前 n 项之和 Sn,直到 Sn 刚好大于或等于 q为止,其中 q 为大于 0 的整数,其值通过键盘输入. Sn = 2/1+3/2+4/3+......+n+1/n 例如,若 q 的值为 50.0,则输出应为:Sn=50.416695.请将源文件保存为exercise2-1.scala,在REPL模式下测试运行,测试样例:q=1时,Sn=2:q=30时,Sn=30.891459:q=50 时,Sn=50.416695. object test

我喜欢减肥我们来减肥吧

http://www.ebay.com/cln/honus.jyw4mvptb/cars/158313278016/2015.01.28.html http://www.ebay.com/cln/honus.jyw4mvptb/cars/158313282016/2015.01.28.html http://www.ebay.com/cln/honus.jyw4mvptb/cars/158313289016/2015.01.28.html http://www.ebay.com/cln/usli

百度回家看沙发沙发是减肥了卡斯加积分卡拉是减肥

http://www.ebay.com/cln/hpryu-caw8ke/cars/158056866019/2015.01.31 http://www.ebay.com/cln/xub.50x2l7cj/cars/158445650015/2015.01.31 http://www.ebay.com/cln/xub.50x2l7cj/cars/158445674015/2015.01.31 http://www.ebay.com/cln/xub.50x2l7cj/cars/1584456790

巢哑偕倥乇椭煞谙暗逞帕俸

IEEE Spectrum 杂志发布了一年一度的编程语言排行榜,这也是他们发布的第四届编程语言 Top 榜. 据介绍,IEEE Spectrum 的排序是来自 10 个重要线上数据源的综合,例如 Stack Overflow.Twitter.Reddit.IEEE Xplore.GitHub.CareerBuilder 等,对 48 种语言进行排行. 与其他排行榜不同的是,IEEE Spectrum 可以让读者自己选择参数组合时的权重,得到不同的排序结果.考虑到典型的 Spectrum 读者需求

我国第三代移动通信研究开发进展-尤肖虎200106

众所周知,数据科学是这几年才火起来的概念,而应运而生的数据科学家(data scientist)明显缺乏清晰的录取标准和工作内容.此次课程以<星际争霸II>回放文件分析为例,集中在IBM Cloud相关数据分析服务的应用.面对星际游戏爱好者希望提升技能的要求,我们使用IBM Data Science Experience中的jJupyter Notebooks来实现数据的可视化以及对数据进行深度分析,并最终存储到IBM Cloudant中.这是个介绍+动手实践的教程,参会者不仅将和讲师一起在线

pl/sql学习1——标量变量psahnh6S

为类型.不能用于表列的数据类型.范围为的子类型.自然数.为的子类型.具有约束为单精度浮点数.为变量赋值时.后面要加为双精度浮点数.为变量赋值时.后面要加.为数字总位数.为小数位数是的子类型.最大精度位是的子类型.最大精度位单精度浮点型是的子类型.最大精度位双精度浮点型定义精度为位的实数..定义为位的整数.变长字符串.最长测试变量数据!.定长字符串.最长测试变长二进制字符串物理存储的为类型...固定长度.个字节使用定义数据类型那个最小值:最大值:最小值:最大值:最小值:最大值:最小值:最大值:最小

Java 使用 JDBC 连接数据库的代码整合[MySql、SqlServer、Oracle]-[经过设计模式改造](2020年寒假小目标01)

2020.01.08 博客期:121 星期三 今天对过去整个大二和大三用到的数据库的方法进行汇总,可以有效的使用.套用,每一个部分都有<软件设计模式>知识,上述代码满足了开闭原则,如果要使用此代码,只需添加数据类继承已经写好的类就可以了,无需修改. 开发项目中,项目整体结构:    [小编网不好,图传不上去,到时候,补上] 类图: [小编网不好,图传不上去,到时候,补上] 源码: com.dblink.basic.sqlkind 包: 1 package com.dblink.basic.sq

01.23 寒假年前总结、部分规划及寒假休息期间自习总结

年前刷的全是二分,现在总算是到搜索的回溯了,今天搞了搞八皇后问题,算是把回溯弄得差不多懂了.没有达成年前的期望,所以年后得抓紧点,起码要把搜索弄完,图论弄一半吧... 二分算是结束了,这几天弄个二分的总结专题吧... 虽然说是到搜索了,但搜索与分治之间的几个单元还都没有看,这几天在家估计也闲不了,最起码要看看基本数据结构.查找.堆以及哈希表吧....所以任务还是比较重的,家里进不了jzyzoj,所以就只能去NOIoj了. 任务还有很多,4月就要省选了,所以这几个月要往前赶赶,3月之前大概得把图论