U E D R , A S I H C RSS

Jolly Jumpers/허아영

느낌

{{| 2006-01-08 04:21:06 Accepted 0.525 464 |}}
역시 연필을 끄적거리지 않아서 인지 버그가 많이 생겼다.
답은 30분만에 나왔지만 runtime 에러가 배열에서 나왔다.
배열 크기가 제한이 있다는 걸 그때 알았다--;;
그래서 방법을 바꾸었다.!!

버그 잡는데 시간을 너무 많이 썼다.
아마 다시 코드 짜면 얼마 안걸릴 듯..

코드

~cpp
#include <iostream>
using namespace std;

int main()
{
	int num, i, j,  value, temp;//, maxNum;
	int numbers[3000], compare[3000];
	bool jolly = false;
	
	while(cin >> num) 
	{
		if(num == 0 && num <= 0)
			break;
		for(i = 0; i <= num-1; i++)
		{
			cin >> numbers[i];
		}
		
		for(i = 0; i < 3000; i++)
		{
			compare[i] = 0;
		}
		
		for(i = num-1; i > 0; i--) 
		{
			if(numbers[i] >= numbers[i-1])
				value = numbers[i] - numbers[i-1];
			else
				value = numbers[i-1] - numbers[i];
			
			if(compare[i-1] != value)
			{
				compare[i] = value;	
			}
		}
		
		for(i = 1; i <= num-1; i++) 
		{
			for(j = i; j <= num-1; j++)
			{
				if(compare[i] >= compare[j])
				{
					temp = compare[j];
					compare[j] = compare[i];
					compare[i] = temp;
				}
			}
		}
		
		for(i = 1; i <= num-1; i++)
		{
			if(compare[i] == i)
				jolly = true;
			else { 
				jolly = false;
				break;
			}
		}
		if(num == 1)
			cout << "Jolly" << endl;
		else if (jolly)			
			cout << "Jolly" << endl;
		else 
			cout << "Not jolly" << endl;
		num = 0;	
	}
	
	return 0;	
}
Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2009-05-27 07:09:19
Processing time 0.0881 sec