PC110201:Jolly Jumpers
2016-11-10 12:49
141 查看
这道题的错误集中在下面几个。
1.循环结束条件判断。循环的时候有两个地方的循环条件弄错。
2.循环后运算弄错。到底是+1还是+2。
#include<stdio.h>
#include<math.h>
#include<memory.h>
#define MAX 3000
int main()
{
int num[MAX+1];
int cha[MAX+1];
int i;
int n;
int c;
int jump;
while(~scanf("%d",&n))
{
memset(num,0,sizeof(num));
memset(cha,0,sizeof(cha));
jump=0;
for(i=0;i<n;i++)
scanf("%d",&num[i]);
for(i=0;i<n-1;i++)
{
c=abs(num[i]-num[i+1]);
if(c>n-1||cha[c])
{
printf("Not jolly\n");
jump=1;
break;
}
else
cha[c]=1;
}
if(jump==1)
continue;
for(i=1;i<n;i++)
if(!cha[c])
{
printf("Not jolly\n");
jump=1;
break;
}
if(jump==0)
printf("Jolly\n");
}
return 0;
}
1.循环结束条件判断。循环的时候有两个地方的循环条件弄错。
2.循环后运算弄错。到底是+1还是+2。
#include<stdio.h>
#include<math.h>
#include<memory.h>
#define MAX 3000
int main()
{
int num[MAX+1];
int cha[MAX+1];
int i;
int n;
int c;
int jump;
while(~scanf("%d",&n))
{
memset(num,0,sizeof(num));
memset(cha,0,sizeof(cha));
jump=0;
for(i=0;i<n;i++)
scanf("%d",&num[i]);
for(i=0;i<n-1;i++)
{
c=abs(num[i]-num[i+1]);
if(c>n-1||cha[c])
{
printf("Not jolly\n");
jump=1;
break;
}
else
cha[c]=1;
}
if(jump==1)
continue;
for(i=1;i<n;i++)
if(!cha[c])
{
printf("Not jolly\n");
jump=1;
break;
}
if(jump==0)
printf("Jolly\n");
}
return 0;
}
相关文章推荐
- POJ2575 Jolly Jumpers
- UVa OJ 10038 - Jolly Jumpers
- 烟大 Contest1025 - 《挑战编程》第二章:数据结构 Problem A: Jolly Jumpers
- 10038 - Jolly Jumpers
- UVa 10038 Jolly Jumpers
- uva 10038 Jolly Jumpers
- 2.8.1 快乐的跳跃着 Jolly Jumpers
- poj解题报告——poj 2575 Jolly Jumpers
- zoj 1879 || poj 2575 Jolly Jumpers(水~)
- 10038 - Jolly Jumpers
- ZOJ 1879 — Jolly Jumpers(C++)
- UVA 10038 - Jolly Jumpers
- uva10038 Jolly Jumpers
- UVa 10038 - Jolly Jumpers
- UVa 10038 Jolly Jumpers
- UVA 10038 - Jolly Jumpers
- UVa OJ 10038-Jolly Jumpers
- zoj 1879 Jolly Jumpers
- UVA10038 Jolly Jumpers
- ZCMU1857: Problem C: Jolly Jumpers