大蒟蒻LJ解题报告#1:某科学的矩阵
嗯……最近在Codevs上面做了道题,个人感觉这题在入门级别的模拟是比较有代表性的。 这是小弟第一次写解题报告,而且编程水平有待提高,故代码可能有些乱。大神看到了有什么地方有错误或者有什么要改进的地方,欢迎指出。 好了,下面进入正题。这题在Codevs的题号是1160,题目名字叫蛇形矩阵。但是我在网上搜索了一下发现,真正的蛇形矩阵应该是Problem 1083………这个就不管那么多了。 题目是这样的:小明玩一个数字游戏,取个n行n列数字矩阵(其中n为不超过100的奇数),数字的填补方法为:在矩阵中心从1开始以逆时针方向绕行,逐圈扩大,直到n行n列填满数字,请输出该n行n列正方形矩阵以及其的对角线数字之和。 这题一看还挺有意思的。就是数字在矩阵中心绕着扩大。。如果是在纸上写的话,相信每个人都会。但是关键问题是……这个问题是要编成程序的。规律在哪呢? 经过一段时间的分析以后……我画了一张图: 在一开始的时候,向右增加1位,第二次向上增加1位,第三次向左增加2位,第四次向下增加2位,第五次又向右增加三位……基本规律也就明白了 下面上程序: #include<cstdio>...
论RP++和RP--哪个更好
今天听lyx说,RP–会比RP++更好,因为在-到数据越界的时候就会“爆正”,而且数字还很大。这叫RP爆发。于是我就来做了一次实验,然后来发【水】文【贴】 well,我写了一个程序,是这样的: #include<iostream> int main() { int rp=-1; while(rp<0) { rp--; } std::cout<<"rp="<<rp<<std::endl; return 0; } 其中的int改成等会要的数据类型。 首先,我们来试一下int类型……结果是这样的: 9.44s,溢出以后变正了……结果还是令人满意的。 辣我们再试一下如果是RP++,加到那个数值,会是怎么样的呢? 这个时候,代码就应该变成这样了 int rp=1; while(rp<2147483647) { rp++; } 运算的结果……卧槽,10.01s 居然比RP–还慢一点! 好吧我输了还不行吗……这时候lyx还提出了应...