UVa 494 Kindergarten Counting Game

题目

源地址:

http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=435

理解

同样是一道很简单的题目。 只要求出给定的一句话中出现的单词的个数,有两个地方需要注意。 - 输入应当注意不能使用scanf("%s", str)这样的写法,会直接停在有空格的地方。采用getline是一个好主意,不过输入的效率会比较低,要是比较虚的话,可以用速度快一点的gets。 - 具体的单词判断上,我一开始犯了一个错误,认为只要判断空格的个数就OK了,实际上,a_a是两个单词。

Read More

CodeVS 1160 蛇形矩阵

题目

源地址:

http://codevs.cn/problem/1160/

理解

一道模拟的,一直在纠结这个规律怎么推。 一开始的想法是,从最中间开始,由1向n*n不断循环,后来发现这个循环有点难写。折腾了很久还是没有写出来,后来通过观察发现,这个矩阵的右下对角线正好满足一个公差为2的等差数列的平方。根据这个分别来完成递加和递减的过程。

Read More

CodeVS 1083 Cantor表

题目

源地址:

http://codevs.cn/problem/1083/

理解

一道基础题,但是我在如何建立模型上面想了很久。 事实上,我们可以按照斜线分类,第1条斜线有1个数,第2条有2个数,以此类推,第i条有i个数。这样,我们可以很轻松的知道,前i条共有S(i)=12i(i+1)个数。由方程n<=S(k),我们可以求出n所在的斜线的位置,也就是floor(sqrt(8.0*n+1)-1)/2。 本来在小白书上面,这个问题已经被解决了,但是CodeVS上面的这道题采用了不同的排列规则。通过观察可以发现,这个规则和斜线数k的奇偶性有关。只要进行一次简单的判断就可以让结果按照需要的规则进行排列了。

Read More

UVa 11059 Maximum Product

题目

源地址:

http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=22&page=show_problem&problem=2000

理解

这道题卡了两个半小时,各种神体位卡数据。 最开始题意理解错误,认为是要求出最大的乘积,实际上应该是求最大的连续积。然后在for循环的开始和结束全都卡了很多次,卡long long,卡输出,卡边界条件,直到队友看不下去了来帮我看代码,才终于解脱= =。 天若了,真的太弱了- -,遇到这种坑特别多的题目,发挥就各种失常,这样可不行。

Read More