Difference between r1.2 and the current
@@ -1,3 +1,4 @@
* 왜 Accept가 안되나 했더니 검사하는 부분에서 count-1이어서......
{{{#include <stdio.h>#include <memory.h>
#include <math.h>
@@ -5,6 +6,58 @@
int main(){
int count;
int a[3000];
while(true) {
int count;
int a[3000];
bool isJ[3000];
while(true) {
if(feof(stdin)) break;
scanf("%d", &count);
if(feof(stdin)) break;
for(int i=0; i<count; i++){
scanf("%d", &a[i]);
}
memset(isJ, false, 3000);
if(count == 1)
goto JOLLY;
for(int i=1; i<count; i++){
int index = abs(a[i]-a[i-1]);
if(isJ[index]) {
goto NOT_JOLLY;
break;
}
isJ[index] = true;
}
for(int i=1; i<count; i++){
if(isJ[i]==true);
else {
goto NOT_JOLLY;
}
if(i==count-1) goto JOLLY;
}
if(count==2&&isJ[1])
goto JOLLY;
NOT_JOLLY:
printf("Not jolly\n");
continue;
JOLLY:
printf("jolly\n");
continue;
}
return 0;
}
}}}
---
{{{
#include <stdio.h>
#include <memory.h>
#include <math.h>
int main(){
int count;
int a[3000];
bool isJ[3000] = {false};while(true) {
@@ -15,23 +68,25 @@
scanf("%d", &a[i]);
}
int index = abs(a[i]-a[i-1]);
if(isJ[index]) {
printf("Not jolly\n");
}
isJ[index] = true;
}
else {
printf("Not jolly\n");
}
if(i==count-1) printf("Jolly\n");
}
}
return 0;
}
bool F=1;
for(int i=1; i<count; i++){int index = abs(a[i]-a[i-1]);
if(isJ[index]) {
F=0;
break;}
isJ[index] = true;
}
for(int i=0; i<count; i++){
for(int i=1; i<count; i++){
if(isJ[i]) continue;else {
F=0;
break;}
puts(F?"Jolly":"Not jolly");
memset(isJ, false, 3000);}
return 0;
* 왜 Accept가 안되나 했더니 검사하는 부분에서 count-1이어서......
#include <stdio.h> #include <memory.h> #include <math.h> int main(){ int count; int a[3000]; bool isJ[3000]; while(true) { if(feof(stdin)) break; scanf("%d", &count); if(feof(stdin)) break; for(int i=0; i<count; i++){ scanf("%d", &a[i]); } memset(isJ, false, 3000); if(count == 1) goto JOLLY; for(int i=1; i<count; i++){ int index = abs(a[i]-a[i-1]); if(isJ[index]) { goto NOT_JOLLY; break; } isJ[index] = true; } for(int i=1; i<count; i++){ if(isJ[i]==true); else { goto NOT_JOLLY; } if(i==count-1) goto JOLLY; } if(count==2&&isJ[1]) goto JOLLY; NOT_JOLLY: printf("Not jolly\n"); continue; JOLLY: printf("jolly\n"); continue; } return 0; }
---
#include <stdio.h> #include <memory.h> #include <math.h> int main(){ int count; int a[3000]; bool isJ[3000] = {false}; while(true) { if(feof(stdin)) break; scanf("%d", &count); if(feof(stdin)) break; for(int i=0; i<count; i++){ scanf("%d", &a[i]); } bool F=1; for(int i=1; i<count; i++){ int index = abs(a[i]-a[i-1]); if(isJ[index]) { F=0; break; } isJ[index] = true; } for(int i=1; i<count; i++){ if(isJ[i]) continue; else { F=0; break; } } puts(F?"Jolly":"Not jolly"); memset(isJ, false, 3000); } return 0; }