丝雨学姐小灶班——Week 1

The Story is Just Beginning

  1. P1000 超级玛丽游戏
    用“xxx\n”分别输出各行内容即可
  2. P1001 A+B Problem
    Hello, World!
  3. P1421 小玉买文具
    圆与角十进制,转换为同一单位进行计算。整数除法抹零。
  4. P1425 小鱼的游泳时间
    同上题,先转换到同一单位进行计算,再利用进制数将计算结果转换并输出。小时分钟60进制。
  5. P1422 小玉家的电费
    分段函数的求解。if语句的嵌套。
  6. P2705 小球
    透彻分析,抓住本质。何种放法得分最高关键在于交叉颜色放置是否“值得”,即○●□■这四者间,交叉放置的得分2xE较高还是同色放置的得分(C+D)较高。若2xE>(C+D)便尽可能多地将红球放入蓝盒,同时将蓝球放入红盒;反之保持一组球与盒的颜色相同即可使得得分最高。
  7. P2241 统计方形(数据加强版)
    作为一个数学弱渣,这道题着实让我恶补了一番小学奥数知识。
    首先,需要根据输入输出样例发现题干中所说的“长方形”是不包括正方形的。
    之后,需要做的是运用数学知识分别计算出棋盘中正方形与【矩形】的个数。查阅小学奥数资料可知在棋盘中数正方形可以通过 x=x+(n-i+1)*(m-i+1) ,其中 i 由 1 递增到m与n中较小的那个值实现。(我傻傻地先把较小值表示出来了诶,不知道C语言里有没有类似 min(m,n) 的这种东西呢?)。而棋盘中矩形的计数方法与高中数学排列知识相通,但由于我不知道如何在程序中实现C(m,2)*C(n,2),因此还是继续借鉴小学奥数知识,通过棋盘长与宽两条边上的线段数(1+2+3+…+x)相乘可以解决。矩形数-正方形数,即可得到题干中所需的“长方形”数。
    最后,我将在本地编译运行通过的程序贴入洛谷,却又一半的测试点WA,原来本题为“数据加强版”,int 会爆掉,查阅资料得知定义的数据类型需为 long long int ,与之相匹配,输出需为 printf("%lld…… 。
    当然,由于本人刚刚入门编程,数学也一直很菜,因此对各类知识点和模型一概不知,只是简单地从网上找了一些有限的资料来帮助解决此题,心知所用的方法繁琐复杂。希望在今后的学习中,能够了解到此题最为简便的解法。
  8. P1307 数字反转
    输入的数位数不确定,开始以为要用数组什么的呢,那样的话我这个只会最简单的判断循环语法的菜鸡肯定是有心无力。结果我就发现——这题我不会做啦!哈哈哈哈哈!
    于是去看题解,好多都不大好懂(毕竟菜得可以),翻了四五页,摘录这两段代码于下:
#include <iostream>
using namespace std;
int n,k;//反转前的数和反转后的数
int main(){
    cin >> n;
    while(n){//处理完了吗
        k = k * 10 + n % 10;//k已有的值*10腾出一个零欢迎新来的小弟
        n /= 10;//凄凉啊,又有人背叛了我,扔掉已经加上的那一位
    }
    cout << k << endl;
}
var s,t:string; n,i:longint;
begin
  read(n);
  if n>=0 then str(n,s) else str(-n,s);//判断是否为负数,如果是负数,变为正数,并变为字符串
  for i:=1 to length(s) do t:=s[i]+t;//将字符串反转
  while t[1]='0' do delete(t,1,1);//删去开始的0
  if n>=0 then write(t) else write('-',t);//如果是负数,在前加负号
end.

一个是直接在输入的数上做文章,简洁明了,直截了当;另一个将数转化为字符串(虽然现在并不会),最后倒序输出,思路上更易理解。
写第一段代码题解的大佬还讲,输入int的时候会自动舍去前面的0,负的乘以整的还是负的,这样就避免了一些多余的考虑。嗯,我记住啦!(但是最后我贴程序的时候还是因为负号WA了一半,难道C++和C在这个地方不一样吗?)
看过题解之后,感觉这题其实也不难,只是我没有找到合适的思路和方法,将简单的事情复杂化了。

入门的八道题就耗了我挺多时间,很多地方理解起来也比较吃力,但我相信“万事开头难”,今后我会学习到更多的知识,获得更多的工具,相信这对我的解题会提供更大的帮助。我也不怕花时间,就算花上几天时间换来一个AC,我也觉得很值!
纪念一下这八个来之不易的AC

猜你喜欢

转载自blog.csdn.net/Zone_found/article/details/82827987