Toggle menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

JollyJumpers/서지혜: Difference between revisions

From ZeroWiki
imported>rabierre
No edit summary
 
imported>rabierre
No edit summary
 
(5 intermediate revisions by 2 users not shown)
Line 1: Line 1:
* 왜 Accept가 안되나 했더니 검사하는 부분에서 count-1이어서......
#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 <stdio.h>
#include <memory.h>
  #include <math.h>
  #include <math.h>
   
   
Line 6: Line 57:
  int a[3000];
  int a[3000];
  bool isJ[3000] = {false};
  bool isJ[3000] = {false};
bool jollyFlag=false;
  while(true) {
  while(true) {
  if(feof(stdin)) break;
  if(feof(stdin)) break;
  scanf("%d", &count);
  scanf("%d", &count);
if(feof(stdin)) break;
  for(int i=0; i<count; i++){
  for(int i=0; i<count; i++){
  scanf("%d", &a[i]);
  scanf("%d", &a[i]);
  }
  }
   
   
bool F=1;
  for(int i=1; i<count; i++){
  for(int i=1; i<count; i++){
  int index = abs(a[i]-a[i-1]);
  int index = abs(a[i]-a[i-1]);
  if(isJ[index]) {
  if(isJ[index]) {
  printf("Not jolly\n");
  F=0;
jollyFlag=true;
  break;
  break;
  }
  }
  isJ[index] = true;
  isJ[index] = true;
  }
  }
if(jollyFlag==false) {
printf("Jolly\n");
}
   
   
jollyFlag = false;
  for(int i=1; i<count; i++){
  for(int i=0; i<=count; i++){
  if(isJ[i]) continue;
  isJ[i]=false;
else {
F=0;
break;
}
  }
  }
puts(F?"Jolly":"Not jolly");
memset(isJ, false, 3000);
  }
  }
  return 0;
  return 0;
  }
  }



Latest revision as of 07:46, 5 June 2011

  • 왜 Accept가 안되나 했더니 검사하는 부분에서 count-1이어서......
#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;
}