标签:Sicily
sicily 1203 The Cubic End

summary : 好不容易才想要刷道题,居然碰上了这么一道蛋疼的题,刚开始没看懂题(英语不好), 去查了单词才看懂了,然后想了半天没想出来,还是去看人家的解题报告才有了一些 灵感,水到爆了,我靠! 解题思路 题目意思是,输入一个数a的字符串,而且最后一个数必然是{1, 3, 7, 9}中的一个, 求一个位数不超过数a的数b,使得b^3的尾数是a。^ 显然,要得到一个数的最后一位,模10,同理,要得到最后2位,模20,..., 我居然还去搜了一下怎么得到一个数的尾数,结果找到了一篇五年级奥数的培训文章 (这不是赤裸裸地鄙视吗???)。 于是,我们可以从个位开始匹配,刚开始就是{1, 3,...

阅读更多
sicily 1509 Rails 解题总结

summary : 这题很明显,可以用2个栈来模拟,车进去是一个栈s,然后相当于有一个让道(可以看作 一个栈ss),储存先不出去的车厢。读取输入的车的顺序,放进数组里面,然后s先初始化 一个完整的栈n......2,1。对于输出的车的顺序的每一个元素,先检查的栈顶元素是否与它相 同,再检查ss的栈顶元素是否与它相同,如果都不相同,则s的栈顶元素出栈,继续找下一 元素,如果都找不到,则该顺序不可能产生。 代码: #include <iostream> #include <stack> using namespace std; const int N = 1001...

阅读更多
sicily 1198 Substring 解题总结

summary : 一看题目,总觉得直接sort就可以A了,但是交上去就是WA,无奈之下,只好google一下 偷看一下人家的分析。。。。。。。果然是有特殊情况!比如 dc dcc,直接sort,得到 的是dcdcc,而正确答案是dccdc,于是要自己写比较函数了!! 代码: #include <iostream> #include <string> using namespace std; bool cmp(string s1,string s2) { int i,j; for(i = j = 0; i < s1.size() &...

阅读更多
sicily 1070 Hansel and Grethel 解题报告

summary : 好久没刷题了,就去水题集里面挑了道水题做,居然绞尽脑汁想不出来,后来还是百度了一下, 发现网上有关这道题的博客一篇都没有,于是,google,终于找到了一篇!看注释: 求两直线的交点,交点必存在 。 我真的是太水了,可能天生就是这么笨,这样都想不到。于是不看他的代码,自己研究了一下, 结果............还是不会!无奈之下,看人家的代码吧......看了代码,很短,自卑了一下, 再看程序的核心,完全不懂!我差点羞愧而死......又研究了这份代码许久,终于是放弃了。 于是加了博主的QQ,博主人真的好,特地加了详细的注释,一看注释的内容就有种被鄙视的感觉。 我...

阅读更多
sicily 1152. 简单的马周游问题

summary : 我本来是想找用来练习栈的题的,看到了这个题,一想,这个和八皇后问题有点类似, 可以用回溯解决,便开始了,纠结了2天,发现输不出答案来的,找了1天,终于找出了bug, 当看到黑色的屏幕上出现一行白色的一行数字时,我内牛满面............但是,ctrl+c,ctrl+v, 返回一了一个红红的WA,我检查了一下,发现第一人测试数据完了之后,栈没有清空, 还好C++允许在中间声明变量,我把stack对象放到中间,就解决问题了,然后还发现, 第一个测试数据完了之后,全都标志成了1了,我又把数组全部标志成了0,这时, 发现输入2时,没有输出的,我以为进入了循环,又在调试...

阅读更多
sicily 1318 magic square 解题总结

summary : 闲得慌,便逃课出来,突然有刷题的冲动,于是开始了刷水题之旅。很快一道水题就A了, 然后碰到了1318这道。 题目大意: 输入整数N,(n >= 3 && n <= 15),构造魔方阵,使每行,每列及对角线的数字的和都相等, 然后输出这个和,并且输出这个矩阵。 分析: 根据提示:Imagine that the square is rounded. That is, the last row is connected with the first row and the last column is connected with the f...

阅读更多
sicily 1087 a funny game 解题总结

summary : 题目大意: N个硬币围成一圈,两个人来博弈,每次只能拿一至两个(相邻),Alice先拿, 最后一个拿的赢,写程序,给定N,判断是谁赢。 分析: 这是一道非常有趣的题,对于像我这样的初学者来说,题目的分析可能要费很大功夫, 但是一旦分析出来,就可以几行代码解决掉。 基本知识:给定N个硬币,排成一列,两个人取,每次只能拿一至两个,则A只需要将这 N个硬币从中间取出一或两个硬币,分成数目相等的两部分,然后B在一边拿多少个,A就 在另一边拿多少个,最终,A必定是最后一个拿的,所以A必定会赢! 延伸到此题:围成一圈的硬币,第一个取的人必定会把圆圈断开成一列,然后,结果被第 二...

阅读更多
Sicily 1498 Elementary Additions 我的解法

summary : 题意 重新定义了数的表示, 0 => {} 1 => {{}} 2 => {{},{{}}} 3 => {{},{{}},{{},{{}}}} 给出右边的集合形式的表示,计算两个数相加的结果,结果也以集合的形式表示。 分析 找规律,0是空集,1是集合里面包含了整个0的集合的表示,接着2,左边是1的集合里面 的东西,右边是1整个集合的表示,中间用逗号分开,对于3,左边是2的集合里面的东西, 右边是2整个集合的表示,中间用逗号分开。 利用上面的规律,给定任意的整数,就可以通过递归来输出集合的形式了。 怎么根据集合的形式得到整数呢? 看逗号!0和...

阅读更多
Sicily 1438 Shopaholic 我的解法

summary : 题意 购物狂去买东西,买3件付两件的钱,最便宜的那件不用付。比如买了3个item,分别为 200元,150元,400元,则只需付600元,折扣为150元。如果买超过3件,一起付钱的话, 也只是不用付最便宜那件。这样当然不划算,于是可以多次付钱,每次选3件。不够3件就没 办法了,没有折扣。要求写程序求最大折扣是多少。 我的解法 购物狂是贪心的,这里就是贪心的思想。拿价格最高的3件先去付钱,再从剩下的里面拿 价格最高的3件。最后如果剩下不够3件的,则只能直接付钱了。非常简单,直接排序, 然后根据买的商品的件数,如果刚好是3的倍数,则把下标为3的倍数减一的价钱相加。如果 余...

阅读更多