UVa 1589 Xiangqi【模拟】
题目大意:
给出一个象棋残局,按照象棋规则,此时红方已被“将军”,判断红方是否已被“将死”。
解题思路:
模拟黑方所有棋子下一步可能走的位置,将这些位置进行标记。之后枚举红方的帥能走的每一个位置,看是否有一个没被标记的位置。
Mycode:
1 |
|
对拍Code:
1 |
|
UVa 201 Squares【模拟】
题目大意:
在n行n列的小黑点中,用m条线段将这些黑点进行连接,按照边长统计这些线段构成了多少个正方形。
解题思路:
因为数据范围很小,我直接用四维数组存下了任意两点之间是否有线段将其连接。最后遍历每个顶点,记录以当前顶点为正方形的左上角边长为k的正方形是否存在。
PS:其实完全可以用二维数组做出来的。
MyCode:
1 |
|
UVa 220 Othello【模拟】
题目大意:
模拟黑白棋的游戏进程。
PS:这里紫书上有点错误,就是给出的例子白旗有8个合法操作,书上少了(3,6)和(7,5)这两个位置(网站上的题面是正确的)。
解题思路:
模块化一下程序,直接模拟就好了。
这里比较重要的模块是判断某个点放置某个棋子时是否合法,用变量为0和1来控制棋子的颜色,写完这个模块,其他的都很轻松了。
MyCode:
1 |
|
Uva 253 Cube painting【模拟】
题目大意:
给两个骰子,问他们是否等价。
解题思路:
我直接找了个魔方标记了一下然后把所有情况都找出来了。太暴力了,我好菜啊。
PS:这样做的话要注意所有的if都是并列的,就是只要满足任意一种情况,答案就是TRUE
。
MyCode:
1 |
|
UVa 1590 IP Networks【模拟】【位运算】
题目大意:
给出n个IP地址,求最小的网络包含所有的输入地址。
解题思路:
因题目背景需要计算机网络的知识,所以理解起来可能比较难。但读懂题意后就是二进制和十进制的转换。
翻译一下就是将给出的点分十进制形式的IP地址转化为32位的二进制形式,找出他们前n项的二进制表示是一样的“公共前缀”,最小IP地址就是这前缀之后的二进制全改为0然后写成点分十进制的结果,子网掩码就是将这些前缀二进制表示全改成1后转化为点分十进制的结果。(表述能力有限,可自己查阅《计算机网络》这本书或者当♂面问我)
MyCode:
1 |
|
UVa 508 Morse Mismatches【模拟】【map】
题目大意:
给出加密方式、待加密文本和加密文本,要你根据前两项内容输出加密文本代表的什么。如果精准匹配则直接输出;如果多个匹配则输出字典序最小的那个后加上!;如果无法匹配则选一个字典序最小的可能匹配的单词输出并在最后加个?,其中可能匹配指的是可以在编码尾部加上或删去若干字符。
(紫书上表述有误,多个单词精准匹配时输出字典序最小的,非精准匹配时也要输出字典序最小的可能匹配的单词)
解题思路:
因为不同文本加密后可能是相同的密文,所以根据密文直接模拟找明文是无法实现的。因为我们已经知道了待加密文本,所以我们可以直接将待加密文本和它加密后的密文存起来,直接拿着这些密文和要求的密文作对比并记录。
因为map自动按照字典序排列了,所以前两种情况很容易实现。对于第三种情况直接拿map中的文本和要匹配的文本进行子序列判断也可以很容易实现。
MyCode:
1 |
|
UVa 509 RAID!【模拟】【位运算】
题目大意:
给出了一种磁盘保护技术,要你根据规则检验一下磁盘存储数据是否正确及能否恢复,如果可以输出存储的数据。
解题思路:
先检验是否合法,如果大于1个x,一定不合法;若恰好一个x,则可以根据规则将这个x恢复出来;若没有x则直接将这些位进行异或操作看最终结果。确定合法后再讲二进制转化为16进制输出就可以了。
MyCode:
1 |
|
UVa 12108 Extraordinarily Tired Students【模拟】
题目大意:
给出n个学生的清醒-睡眠周期以及初始时他们所处的周期的哪个时间,当课堂上睡觉人数大于清醒人数时他就会睡觉,否则再听课A_i分钟后再观察一下。问经过多次时间后全班同学都处于清醒状态,或者不存在这种情况。
解题思路:
直接模拟睡觉的过程。
MyCode:
1 |
|
UVa 1591 Data Mining【模拟】
题目大意:
???
解题思路:
直接枚举AB的取值即可。
MyCode:
1 |
|
UVa 815 Flooded!【模拟】【二分】
题目大意:
输入一个n x m的网格及每个格子的高度,每个格子都是边长为10m的正方形,网格四周是无限大的墙壁。给你网格内雨水的总体积,输出水位的海拔及多少百分比的区域有水。
解题思路:
雨水分布只与网格高度有关,和其位置分布无关,因此我们可以将网格按照高度从小到大排序后,看雨水能淹没到哪里。当无法全部淹没时找到恰好无法淹没的那个位置,根据它的高度来二分枚举最终水位的高度。
MyCode:
1 |
|