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>Unknown
No edit summary
 
(Table transclusion repair v1)
 
Line 1: Line 1:
= 느낌 =
= 느낌 =
{{| 2006-01-08 04:21:06  Accepted 0.525 464 |}}
2006-01-08 04:21:06  Accepted 0.525 464
역시 연필을 끄적거리지 않아서 인지 버그가 많이 생겼다.
역시 연필을 끄적거리지 않아서 인지 버그가 많이 생겼다.
답은 30분만에 나왔지만 runtime 에러가 배열에서 나왔다.
답은 30분만에 나왔지만 runtime 에러가 배열에서 나왔다.
Line 16: Line 16:
  {
  {
  int num, i, j,  value, temp;//, maxNum;
  int num, i, j,  value, temp;//, maxNum;
  int numbers[3000], compare[3000];
  int numbers[3000], compare[3000];
  bool jolly = false;
  bool jolly = false;
 
 
Line 25: Line 25:
  for(i = 0; i <= num-1; i++)
  for(i = 0; i <= num-1; i++)
  {
  {
  cin >> numbers[i];
  cin >> numbers[i];
  }
  }
 
 
  for(i = 0; i < 3000; i++)
  for(i = 0; i < 3000; i++)
  {
  {
  compare[i] = 0;
  compare[i] = 0;
  }
  }
 
 
  for(i = num-1; i > 0; i--)  
  for(i = num-1; i > 0; i--)  
  {
  {
  if(numbers[i] >= numbers[i-1])
  if(numbers[i] >= numbers[i-1])
  value = numbers[i] - numbers[i-1];
  value = numbers[i] - numbers[i-1];
  else
  else
  value = numbers[i-1] - numbers[i];
  value = numbers[i-1] - numbers[i];
 
 
  if(compare[i-1] != value)
  if(compare[i-1] != value)
  {
  {
  compare[i] = value;
  compare[i] = value;
  }
  }
  }
  }
Line 50: Line 50:
  for(j = i; j <= num-1; j++)
  for(j = i; j <= num-1; j++)
  {
  {
  if(compare[i] >= compare[j])
  if(compare[i] >= compare[j])
  {
  {
  temp = compare[j];
  temp = compare[j];
  compare[j] = compare[i];
  compare[j] = compare[i];
  compare[i] = temp;
  compare[i] = temp;
  }
  }
  }
  }
Line 61: Line 61:
  for(i = 1; i <= num-1; i++)
  for(i = 1; i <= num-1; i++)
  {
  {
  if(compare[i] == i)
  if(compare[i] == i)
  jolly = true;
  jolly = true;
  else {  
  else {  

Latest revision as of 12:46, 27 March 2026

느낌

2006-01-08 04:21:06  Accepted 0.525 464

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

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

코드

#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;	
}

JollyJumpers