觉得浮夸了四年,漠然发现原来是浮躁了四年!

挑战编程-基本数据结构

在图书馆闲逛,发现了刘汝佳的这本书,听着这个名字就把书拿回来了,还没有系统的学习过数据结构,就以这本书为启蒙读物吧!

以解决问题的形式来说明各种基本数据结构的使用,这样不仅了解了这些数据结构也能够运用这些数据结构解决问题。

本书的题目是在uva上的选择的。没办法刚注册了账号。

题目A:http://www.programming-challenges.com/pg.php?page=downloadproblem&probid=110201&format=html

题目大意:给出我们一行数列元素数为n,如果满足两个连续的相邻元素的绝对值取遍所有从1到n的所有整数,那么就是一个jolly jumper,否则不是。

关于本题,我竭尽所能仍然

486472 13/04/10 04:01 Solved 0.006 secs. CPP

仍然达不到大牛们的0s啊!不过本题我的处理方法很传统很初级,就是把每两个的绝对值求出并以绝对值为下标标记,然后依次遍历1-n,如果所有的数都被标记则为jolly jumper!

求大牛指导,求0s!

PS : my code

My Code
 1 #include<iostream>
 2 #include<cstring>
 3 #include<cstdio>
 4 #include<cmath>
 5 using namespace std;
 6 int num[3005];
 7 int mark[3005];
 8 int main()
 9 {
10     int n;
11     while(scanf("%d",&n)!=EOF)
12     {
13         int i;
14         memset(num,0,sizeof(num));
15         memset(mark,0,sizeof(mark));
16         scanf("%d",&num[0]);
17         for(i=1;i<n;i++)
18         {
19             scanf("%d",&num[i]);
20             mark[(int)abs(num[i]-num[i-1])]=1;
21         }
22     
23         for(i=1;i<n;i++)
24         {
25             if(mark[i]==0)
26                 break;
27         }
28         if(i>=n)
29             printf("Jolly\n");
30         else
31             printf("Not jolly\n");
32     }
33     return 0;
34 }

 

posted @ 2013-04-10 12:31  heat nan  阅读(241)  评论(0)    收藏  举报