More actions
imported>Unknown No edit summary |
(Table transclusion repair v1) |
||
| Line 1: | Line 1: | ||
= 느낌 = | = 느낌 = | ||
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 | 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 | cin >> numbers[i]; | ||
} | } | ||
for(i = 0; i < 3000; i++) | for(i = 0; i < 3000; i++) | ||
{ | { | ||
compare | compare[i] = 0; | ||
} | } | ||
for(i = num-1; i > 0; i--) | for(i = num-1; i > 0; i--) | ||
{ | { | ||
if(numbers | if(numbers[i] >= numbers[i-1]) | ||
value = numbers | value = numbers[i] - numbers[i-1]; | ||
else | else | ||
value = numbers | value = numbers[i-1] - numbers[i]; | ||
if(compare | if(compare[i-1] != value) | ||
{ | { | ||
compare | compare[i] = value; | ||
} | } | ||
} | } | ||
| Line 50: | Line 50: | ||
for(j = i; j <= num-1; j++) | for(j = i; j <= num-1; j++) | ||
{ | { | ||
if(compare | if(compare[i] >= compare[j]) | ||
{ | { | ||
temp = compare | temp = compare[j]; | ||
compare | compare[j] = compare[i]; | ||
compare | compare[i] = temp; | ||
} | } | ||
} | } | ||
| Line 61: | Line 61: | ||
for(i = 1; i <= num-1; i++) | for(i = 1; i <= num-1; i++) | ||
{ | { | ||
if(compare | 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;
}