第四章 函数和递归 (习题)
aozil_yang
这个作者很懒,什么都没留下…
展开
-
4-3 UVA 220 Othello 黑白棋
这个题和象棋差不多,有很多细节:也有很多教训:1.‘Black - xx White - yy’ 这个地方,自己就坑在这里了,这里xx,yy前面都有一个空格,但X是两个,说明了这里是%2d,或者前面%3d,这就造成了格式错误。2.在一个,输出的最后与最后程序自带的字母一定有一个空行,否则直接WA。在细节方面,自己也出了不少问题1.自己是从1开始计数的,一直到8,但读取时用了ge原创 2015-12-05 19:22:55 · 767 阅读 · 0 评论 -
4-6 UVA 508 Morse Mismatches莫尔斯电码
这个题呢,整体思路比较好想:开两个结构体,一个存放输入的指令(因为不一定按顺序排吗,所以得现搜索某个指令),另一个结构体存放输入的单词,最后开一个数组存放最后的电码。然后对每一个电码进行搜索,然后按照题目规定的输出方式输出。 输出方式(题目细节):这个题也是看了好几遍,当完全看懂了之后(使劲查单词),再看课本,发现翻译的真是有点问题,总之输出方式呢,是如果有完美匹配的单词,就输出它本身,原创 2015-12-10 19:17:43 · 1273 阅读 · 3 评论 -
4-9 UVA 1591 Data Mining 数据挖掘
这个题确实反应了自己的水平,刚开始读不懂原文,读紫书的翻译,但感觉好抽象,还是不理解,便又硬读原文,还是有很大的困难,但多少已经有一些思路了(大体方向已经知道枚举),但最大的阻碍还是那个表达式!不隐瞒,我是借鉴了“代号4101”的博客后,知道了如何利用那个表达式!大体分析:根据题目的描述,我们是一定要用Qofs’(i) = (Pofs(i) + Pofs(i) > B这个公式的,在原创 2015-12-08 00:33:28 · 890 阅读 · 0 评论 -
4-10 UVA 815 Flooded!洪水
一般能自己手算出样例输入来,那题意就基本明确了,这个题大体题意是,有一个网格,网格里均匀分布正方形土地,洪水总是在最低处忘上淹,问一定量的水的体积淹没过后,最终洪水的水平面和淹没土地的百分比例。 大体思路:因为洪水总是在最低处往上淹,所以可以先把土地的高度数组先用快排排序(就是把面积的问题转换成线的问题),先淹没小的,淹没一个减少一定量的水的体积直到小于等于0为止。 教训:虽然原创 2015-12-10 15:28:09 · 592 阅读 · 0 评论 -
4-7 UVA 509 RAID!
个人感觉这个题难点在于读题,和一些小细节的把握:在借鉴了学长们的博客后,了解了题目大意:输入d,s,b分别为:磁盘个数;一个磁盘占有的大小(就是几个数字绑在一个磁盘上);和每一个磁盘上数据的多少(也就是每一行有几个数字组合),然后再输入奇校验,还是偶校验,查阅资料,或者观察样例后可以知道,如果是奇校验,则每一列1的个数为奇数个,如果为偶校验,则每一列1的个数为偶数个(注意1的个数可以为0)原创 2015-12-14 01:07:46 · 692 阅读 · 0 评论 -
4-1 UVA 1589Xiangqi中国象棋
这个题,写完很久了,一直没发没记录,今天补上。这个题自己真是错了不知多少遍了,数不清了,换了个思路就AC了整体思路:用二维数组做棋盘,把红棋能吃的全都记录下来,让黑将一个一个走,看看走后是不是在记录范围内,发现一个不在在的话,就直接输出NO,注意刚开始会有飞将的可能:#include#define MAX 15#includeconst int dx[] = {0原创 2015-12-21 15:53:39 · 567 阅读 · 0 评论 -
4-8 UVA 12108 特别困的学生 Extraordinarily Tired Students
一个简单的题,虽然简单,但自己也一直卡在变量的赋值的问题上本来赋给结构体内部,却赋给了main函数里的变量。一个小小小小的教训,下次注意,!大体思路:从题目阐述来看题目条件(1 ≤ a,b ≤ 5),而学生的数量也是很小(1 ≤ n ≤ 10),总之,数据量非常少,来判断是不是找到都清醒的情况可以开大循环的终止条件,因为数据量很小,1000 + 5足够,做完之后,我搜索了一下学原创 2015-12-07 02:28:46 · 607 阅读 · 0 评论 -
4-4 Cube Painting
因为题目中描述骰子的方法是给其六个面进行编号,所以一个骰子只有24种情况:每一个号朝上就有6种,而每一个面进行横向旋转便又得到4种,总共有24种:只需要提取出输入的字符串前6位,把24种情况打到表格里,进行查询即可:#include#include#define MAX 30int cont = 1;char str_body[MAX][MAX];char str_head[原创 2015-12-05 01:26:08 · 614 阅读 · 0 评论 -
4-5 UVA1590 IP网络(IP Networks)
做完之后,有看下网上大神的报告,都觉得没有什么坑,看来自己的英语有待提高,自己错误好几遍都是错在了EOF上我看样例输入输出还是,还是原文都没有看到end of file,这是一个惨痛的教训!!!整体思路呢,是将所有输入的IP转换成二进制存到二维数组里面,因为题目中说最多输入不超过1000个,所以直接char str[1005][40];在搜索所有的IP地址,从头开始,找到第一个不一样的原创 2015-12-06 18:58:08 · 486 阅读 · 0 评论