自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(12)
  • 收藏
  • 关注

原创 交换学生(Foreign Exchange, UVa 10763)

有n(1≤n≤500000)个学生想交换到其他学校学习。为了简单起见,规定每个想从A学校换到B学校的学生必须找一个想从B换到A的“搭档”。如果每个人都能找到搭档(一个人不 能当多个人的搭档),学校就会同意他们交换。每个学生用两个整数A、B表示,你的任务 是判断交换是否可以进行#include<iostream>#include<cstring>using namespace std;int a[5000][5000];bool is_ok(){...

2020-07-16 12:39:48 811 2

原创 卡片游戏(Throwing cards away I, UVa 10935)

桌上有n(n≤50)张牌,从第一张牌(即位于顶面的牌)开始,从上往下依次编号为1~ n。当至少还剩下两张牌时进行以下操作:把第一张牌扔掉,然后把新的第一张牌放到整叠 牌的最后。输入每行包含一个n,输出每次扔掉的牌以及最后剩下的牌。 #include<iostream>#include<queue>using namespace std;main(){ int n; while(cin>>n) { queue<int&g...

2020-07-16 11:22:03 200

原创 Ducci序列(Ducci Sequence, ACM/ICPC Seoul 2009, UVa1594)

对于一个n元组(a1, a2, …, an),可以对于每个数求出它和下一个数的差的绝对值,得到 一个新的n元组(|a1-a2|, |a2-a3|, …, |an-a1|)。重复这个过程,得到的序列称为Ducci序列,例如: (8, 11, 2, 7) -> (3, 9, 5, 1) -> (6, 4, 4, 2) -> (2, 0, 2, 4) -> (2, 2, 2, 2) -> (0, 0, 0, 0). 也有的Ducci序列最终会循环。输入n元组(3≤n≤15

2020-07-16 10:57:14 131

原创 代码对齐(Alignment of Code, ACM/ICPC NEERC 2010, UVa1593)

输入若干行代码,要求各列单词的左边界对齐且尽量靠左。单词之间至少要空一格。每 个单词不超过80个字符,每行不超过180个字符,一共最多1000行,样例输入与输出如图5-5 所示。 #include<iostream>#include<string>#include<sstream>#include<vector>using namespace std;int maxn[200];vector&l...

2020-07-16 10:39:47 243 1

原创 紫书 Unixls命令(Unix ls,UVa400)代码及讲解

输入正整数N以及N个文件名,排序后按列优先的方式左对齐输出。假设最长文件名有M个字符,则最右列有M个字符,其他列都是M+2个字符,不够的则在末尾补空格字符。要求输出的每行的总字符数不超过60,且行数最小关键算法求列数C的公式为C=1+⌊(60−M)/(M+2)⌋ 假设有N个文件名,则求行数R的公式为 R=⌈N/C⌉#include<iostream>#include<string>#include<algorithm>using...

2020-07-13 17:13:10 242

原创 紫书 queue优先队列 丑数(Ugly Numbers,Uva 136)代码及讲解

丑数是指不能被2,3,5以外的其他素数整除的数。把丑数从小到大排列起来,结果如 下: 1,2,3,4,5,6,8,9,10,12,15,… 求第1500个丑数。 #include<iostream>#include<queue>#include<vector>#include<set>using namespace std;typedef long long ll;const int coeff[3]={2,3,5};..

2020-07-13 16:05:52 179

原创 紫书 queue 团体队列(Team Queue,UVa540)代码及讲解

有t个团队的人正在排一个长队。每次新来一个人时,如果他有队友在排队,那么这个 新人会插队到最后一个队友的身后。如果没有任何一个队友排队,则他会排到长队的队尾。 输入每个团队中所有队员的编号,要求支持如下3种指令(前两种指令可以穿插进 行)。ENQUEUEx:编号为x的人进入长队。 DEQUEUE:长队的队首出队。 STOP:停止模拟。 对于每个DEQUEUE指令,输出出队的人的编号。Sample Input 2 3 101 102 103 3 201 20...

2020-07-13 15:01:46 390

原创 紫书 stack集合栈计算机(The Set Stack Computer,ACM/ICPC NWERC 2006,UVa12096)代码及讲解

有一个专门为了集合运算而设计的“集合栈”计算机。该机器有一个初始为空的栈,并且 支持以下操作。 PUSH:空集“{}”入栈。 DUP:把当前栈顶元素复制一份后再入栈。 UNION:出栈两个集合,然后把二者的并集入栈。 INTERSECT:出栈两个集合,然后把二者的交集入栈。ADD:出栈两个集合,然后把先出栈的集合加入到后出栈的集合中,把结果入栈。 每次操作后,输出栈顶集合的大小(即元素个数)。例如,栈顶元素是A={{}, {{}}},下一个元素是B={{},{{{}}}},则:

2020-07-12 17:27:01 278

原创 紫书 map反片语(Ananagrams,Uva 156)代码及讲解

输入一些单词,找出所有满足如下条件的单词:该单词不能通过字母重排,得到输入文 本中的另外一个单词。在判断是否满足条件时,字母不分大小写,但在输出时应保留输入中 的大小写,按字典序进行排列(所有大写字母在所有小写字母的前面)。 样例输入: ladder came tape soon leader acme RIDE lone Dreis peat ScAlE orb eye Rides dealer NotE derail LaCeS drIednoel dire Disk mace Ro

2020-07-12 15:40:50 153

原创 紫书 set安迪的第一个字典(Andy‘s First Dictionary,Uva 10815)代码及讲解

输入一个文本,找出所有不同的单词(连续的字母序列),按字典序从小到大输出。单 词不区分大小写。 样例输入: Adventures in Disneyland Two blondes were going to Disneyland when they came to a fork in the road. The sign read: "Disneyland Left." So they went home. 样例输出(为了节约篇幅只保留前5行): aadventures

2020-07-12 14:21:39 189

原创 紫书 vector木块问题(The Blocks Problem,Uva 101)代码及讲解

从左到右有n个木块,编号为0~n-1,要求模拟以下4种操作(下面的a和b都是木块编 号)。move a onto b:把a和b上方的木块全部归位,然后把a摞在b上面。 move a over b:把a上方的木块全部归位,然后把a放在b所在木块堆的顶部。 pile a onto b:把b上方的木块全部归位,然后把a及上面的木块整体摞在b上面。 pile a over b:把a及上面的木块整体摞在b所在木块堆的顶部。 遇到quit时终止一组数据。a和b在同一堆的指令是非法指令,应当忽略。

2020-07-11 17:06:49 137

原创 紫书算法 排序与检索 大理石在哪儿(Where is the Marble?,Uva 10474)代码及讲解

现有N个大理石,每个大理石上写了一个非负整数。首先把各数从小到大排序,然后回 答Q个问题。每个问题问是否有一个大理石写着某个整数x,如果是,还要回答哪个大理石上 写着x。排序后的大理石从左到右编号为1~N。(在样例中,为了节约篇幅,所有大理石上 的数合并到一行,所有问题也合并到一行。)样例输入:4 1 2 3 5 1 5 5 2 1 3 3 3 1 2 3 样例输出: CASE #1: 5 found at 4 ...

2020-07-11 16:41:15 182

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除