落絮飞雁

顺流而下,把梦做完

校赛过后

校赛过后

码了一下午的心理辅导报告,索性今晚一起把昨天的ACM校赛的东西一起写出来(虽然本来就打算今天写的……) ==================================================================== 昨天早上一觉睡到自然醒~醒来之后发现不对了。要参加ACM的校赛的!!这可了得,赶紧看下时间——好吧,手机没电了,难怪今天没有闹钟没有响。赶紧充电联系一下同去的小伙伴,居然还没起……

一小时后,我们饿着肚子上路了,先到路边简单吃早餐。然后步行—BRT—地铁,开始了一天悲情的ACM之路~

见识到了本部三教宽阔的机房,原来账号密码是放在机器前的小信封里的。   顿时觉得校赛高端大气了起来。

开机,登陆ACM平台,摩拳擦掌跃跃欲试。1159分,好!开始狂刷页面,biu~ 于是,第一题是这样的:   Problem A Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 65535/65535 K (Java/Others) Total Submission(s): 880    Accepted Submission(s): 104 Problem Description It’s a very simple problem. Given three integers A, B and C, please tell me how many real solutions there exist for the equation: A*x*x + B*x + C = 0. Kill it in one minute!     Input The first line of input contains an integer number Q, representing the number of equations to follow. Each of the next Q lines contains 3 integer numbers, separated by blanks, a, b and c, defining an equation. The numbers are from the interval [-1000,1000].     Output For each of the Q equations, in the order given in the input, print one line containing the number of real solutions of that equation. Print INF” (without quotes) if the equation has an infinite number of real solutions.     Sample Input 3 1 0 0 1 0 -1 0 0 0     Sample Output 1 2 INF

貌似很简单啊,有木有?题目的最后甚至挑衅似的让你在1分钟之内解决战斗。好,抱着拿一血的精神开始打码……等等,一元二次方程的根判别式是什么来着?容我想想……哦,b*b-4*a*cOK,测试下,过了。递交答案,WA

40分钟后,机智的我决定不再纠结这道问题了,虽然后面的问题看起来要比这道复杂好多……10061005明明本机通过了,为什么HDOJ总是WA啊,各种不解……此时,邻座学长的机器旁已经插上了三个气球……我就说嘛,今天出门没有看黄历。就不应该来这里ACM的,这么多的学长大大让我这个学弟(渣)怎么欢乐地ACM?密一下小伙伴,要不我们回去吧?!

2小时后,唉……还是看看1001这道题吧。诶,这貌似是道数学题啊。容我想想……不一会儿,我ACM生涯中的第一个气球插在了我的面前~哇哈哈,此处应有掌声!

3小时45分,唉,到目前还是仅仅得到了那一个气球啊,1006为什么总是超时啊,换个算法再试试……出现了,HDOJ提示我格式错误。离A掉不远了!一看时间,不行,要赶紧才行……于是就……   唉,忙中出错啊……直到最后一刻都还是格式错误。

唉,功底太薄了。而在几分钟之前,已经有学长将全部的题目A掉了!!膜拜大神! 于是乎,这次的ACM校赛就这样惨淡的收场了,附上考试后的机房照一张。

不禁感叹。唉,我还是too simple,sometimes naive啊!以后要好好的学习ACM的算法了,不能再以A掉水题而沾沾自喜了。

Ps:自高考之后,从没有过像昨天这样高强度的脑力劳动了。在回程的BRT上,人多,挤,饿的我双手无力,晕车又不肯下车……这种感觉好难受,到今天还感觉头晕。大不了下次在学校或者武林广场解决掉晚饭再坐车吧。想想那拥挤的B2路和那遥遥无期的学校就直摇头啊,反正也赶不上晚自习了。

Ps2:学长你不要走,我还想见你一面呢……

Ps3:我打到这里的时候是985个字,真心希望这篇文章能够突破一千字大关啊。好了,够了,收工。

忍了好久没写的HDOJ1097:A hard puzzle

A hard puzzle

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 25563    Accepted Submission(s): 9084

Problem Description
lcy gives a hard puzzle to feng5166,lwg,JGShining and Ignatius: gave a and b,how to know the a^b.everybody objects to this BT problem,so lcy makes the problem easier than begin.
this puzzle describes that: gave a and b,how to know the a^b’s the last digit number.But everybody is too lazy to slove this problem,so they remit to you who is wise.
Input
There are mutiple test cases. Each test cases consists of two numbers a and b(0<a,b<=2^30)
Output
For each test case, you should output the a^b’s last digit number.
Sample Input
7 66 8 800
Sample Output
9 6
首先放上代码:
#include
int main()
{
    long a,b;
    int temp;
    while(scanf("%ld%ld",&a,&b)!=EOF)
    {
        a=a%10;
        b=(b>4)?b%4:b;
        if(b==0)
        {
            b=4;
        }
        for(temp=1;b>0;b--)
        {
            temp=temp*a;
        }
        printf("%dn",temp%10);
    }
   return 0;
}

 一道找规律的题目,研究一下会发现末位数都是有规律的,都是4的倍数

1是1、1、1、1
2是2、4、8、6
3是3、9、7、1
4是4、6、4、6
5是5、5、5、5
6是6、6、6、6
7是7、9、3、1
8是8、4、2、6
9是9、1、9、1

这样,找到规律之后打码就可以了,注意a,b必须要是long才行。还有就是return 0;要写到下面,否则会提示格式错误CE……我貌似就是CE了好久没有找到错在哪里,心灰意冷,55555555………………

不算难的一道题,可我为什么做了好久才做出来呢…………

HDOJ2010:水仙花数【讲一个数据按位取出】

水仙花数

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 82794    Accepted Submission(s): 24161

Problem Description
春天是鲜花的季节,水仙花就是其中最迷人的代表,数学上有个水仙花数,他是这样定义的:
“水仙花数”是指一个三位数,它的各位数字的立方和等于其本身,比如:153=1^3+5^3+3^3。
现在要求输出所有在m和n范围内的水仙花数。
Input
输入数据有多组,每组占一行,包括两个整数m和n(100<=m<=n<=999)。
Output
对于每个测试实例,要求输出所有在给定范围内的水仙花数,就是说,输出的水仙花数必须大于等于m,并且小于等于n,如果有多个,则要求从小到大排列在一行内输出,之间用一个空格隔开;
如果给定的范围内不存在水仙花数,则输出no;
每个测试实例的输出占一行。
Sample Input
100 120 300 380
Sample Output
no 370 371
Author
lcy
解:
#include
int main()
{
    int ge,shi,bai,sum,m,n,t;
    while(~scanf("%d%d",&m,&n))
    {
        sum=0;
        for(t=m;t

这道题的解题有点曲折,一开始是想通过数组的方式先找出100~999之间的所有的水仙花数,再根据需要依次输出,后来发现跟题意有点不符……之后就是取数字的那段代码(红色高亮)代码写错了,又加上if语句那里漏写了一个等号,于是第一次运行之后就出现了壮观的数字雨……
这道题目主要注意一下按位取出,以及==与=的不同。还有就是第一次做过之后HDOJ提示格式错误,这里注意要加一个判断水仙花数的变量sum,顺便用sum来把各个水仙花数隔开。最后的n换行要写到if语句的外面。
最后附上数字雨的截屏(为凸显壮观已按比例缩小)

壮观的数字雨

HDOJ2009:求数列的和【sqrt()函数】

求数列的和

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 36407    Accepted Submission(s): 22186

Problem Description
数列的定义如下:
数列的第一项为n,以后各项为前一项的平方根,求数列的前m项的和。
Input
输入数据有多组,每组占一行,由两个整数n(n<10000)和m(m<1000)组成,n和m的含义如前所述。
Output
对于每组输入数据,输出该数列的和,每个测试实例占一行,要求精度保留2位小数。
Sample Input
81 4 2 2
Sample Output
94.73 3.41
Author
lcy
解:
#include
#include
int main()
{
    int n,m,i;
    double sum,k;
    while(~scanf("%d %d",&n,&m)&&n

这道题目主要是运用sqrt()函数求解,注意sqrt()要求输入输出值双精度浮点型,调用头文件math.h~

HDOJ2005:第几天【switch语句的简单应用】

第几天?

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 61733    Accepted Submission(s): 23197

Problem Description

给定一个日期,输出这个日期是该年的第几天。

Input

输入数据有多组,每组占一行,数据格式为YYYY/MM/DD组成,具体参见sample input ,另外,可以向你确保所有的输入数据是合法的。

Output

对于每组输入数据,输出一行,表示该日期是该年的第几天。

Sample Input

1985/1/20 2006/3/12

Sample Output

20 71

Author

lcy

Source

C语言程序设计练习(一)

解:

#include
int main()
{
    int y,m,d,sum;
    while(~scanf("%d/%d/%d",&y,&m,&d))
    {
        sum=0;
        switch(m)
        {
        case 12:sum+=30;
        case 11:sum+=31;
        case 10:sum+=30;
        case 9:sum+=31;
        case 8:sum+=31;
        case 7:sum+=30;
        case 6:sum+=31;
        case 5:sum+=30;
        case 4:sum+=31;
        case 3:if((y%4==0)&&((y%100)!=0)||(y%400==0))
                   sum+=29;
                   else
                   sum+=28;
        case 2:sum+=31;
        case 1:sum+=d;
        }
        printf("%dn",sum);
        sum=0;
    }
    return 0;
}

首先是关于润年的判断,简单打草后可以推出是在三月的时候进行。一开始还打算用if语句嵌套,写了三层之后发现还是比较麻烦的,改用switch语句。要注意switch语句是是从表达式值于case的常量表达式值i相等时,从该case进入的,然后依次执行后面的语句。也就是说,关于这道题目的case应该倒着写,从case12case1,这样才能保证依次执行。

题目不难,主要考察的switch语句的运用,水水的一次过~

HDOJ2008:数值统计

数值统计

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 44455    Accepted Submission(s): 22673

Problem Description
统计给定的n个数中,负数、零和正数的个数。

 

Input
输入数据有多组,每组占一行,每行的第一个数是整数n(n<100),表示需要统计的数值的个数,然后是n个实数;如果n=0,则表示输入结束,该行不做处理。

 

Output
对于每组输入数据,输出一行a,b和c,分别表示给定的数据中负数、零和正数的个数。

 

Sample Input
6 0 1 2 3 -1 0 5 1 2 3 4 0.5 0

 

Sample Output
1 2 3 0 0 5

 

#include
int main()
{
    int n,x,zheng,fu,ling;
    double a;
    while(scanf("%d",&n)!=EOF&&n)
    {
        zheng=fu=ling=0;
        for(x=0;x0)
                zheng++;
            else
                ling++;
        }
        printf("%d %d %dn",fu,ling,zheng);
    }
    return 0;
}

注意题目要求遇0结束,就要在while语句后面加上&&n,作用相当于n!=0
或者可以在while语句后面加上if(n==0)break;

我只想说,电子阅览室关门好早啊,刚刚找到感觉……
回寝室继续吧!

【转载】如果编程语言是妹子

又到了吐槽编程语言的时候了~ READ MORE →

第一次宕机

上周四篇的任务没有完成……

开了好多的坑没有补,两篇文章没有呢写完就感冒了。头痛、流鼻涕,就没有再写下去。如此难得的借口,索性把ACM也停掉了,没有再继续做题……

这两天感觉好多了,今天正跃跃欲试摩拳擦掌准备ACM的时候,突然收到了两条宕机的信息。各种紧张啊,寝室又不能上网,网站到底怎么样了完全不知道啊………………

于是下午抓紧到电子阅览室,结果……

好吧……重启了一下……一下……………………

附上这次宕机的监控报告,表示这是换主机以来的第一次宕机,好有纪念意义的说

(= =)

 

新—如果编程语言是妹子

Ruby 是一个略显丰满的女孩,但其令人窒息的甜蜜面容绝对会成为你一生的梦想,然而,当你最终得到了她,她却开始迅速发胖,你开始认识到了她华丽外表下所有恶劣的性格缺陷。你坚持认为事情会有好转,但事实却不是这样,你最终不得不苦恼的把所有时间都花在寻找新的能让她保持高兴的事情上。

Java 是一个过于精于计算的生意场上的女人,她会盲目的遵循各种习惯风俗——不论它们是如何的相互矛盾和荒谬。虽然相貌平平,但你和她出门或做任何事情前都必须经过各种的礼节、复杂的装饰、规定的仪式。她通过各种方法、没完没了的自我宣传来保持一个好的名声。

Python是大众情人,她体贴周到,魅力迷人,是一位好听众,更是伶牙俐齿,思想有见地,有时她会进入野外自我探索的旅途,在那里,她能彻底的自我再造,当她会来时,你看到的已经是完全另外一个人了。

JavaScript是精力充沛的狂热信徒,她愿意去寻找出任何荒谬的办法来跑的更快——即使会因此变得体积太庞大而无法干任何其它的事情。然而,你无法忽视她,因为她无处不在,你总能遇到她。幸运的是,当她变的有点失控时,她的胖朋友们会为你提醒她。

Lisp将会成为你事业上的导师,能在任何事情上为您提供理论方案,让你佩服的五体投地,但是,按她的方法做出的锤子不能直直钉入一个钉子。永远都是玄虚的思想,宏大的计划,跟着她,你会发现自已永远都只能住在桥洞里饿的瑟瑟发抖,直到她发现另外一个愿意为她花钱的傻瓜再为她可笑的追逐50年的风车。

PHP是一个很平常的女孩,能真心的和你交谈。她超重,不是很聪明,皮肤不好,虽然化妆也不是很漂亮,每有流行事情她都在几年后才去追随,安于现状。你最终会勉强接受她。

又见双十一

我只上图,不说话~

至于你买不买,反正我在双十一是不买东西~