문제 링크입니다: https://www.acmicpc.net/problem/4383
정말 쉬운 문제인데 EOF 처리 실수 때문에 계속 틀렸던 문제였습니다.
#include <iostream>
#include <algorithm>
#include <cstring>
using namespace std;
const int MAX = 3000;
int arr[MAX];
bool visited[MAX];
int main(void)
{
int N;
while (scanf("%d", &N) != EOF)
{
memset(visited, false, sizeof(visited));
for (int i = 0; i < N; i++)
cin >> arr[i];
bool flag = true;
for (int i = 0; i < N - 1; i++)
{
int diff = abs(arr[i] - arr[i + 1]);
if (visited[diff] || !diff || diff >= N)
{
flag = false;
break;
}
visited[diff] = true;
}
if (flag)
cout << "Jolly\n";
else
cout << "Not jolly\n";
}
return 0;
}
개발환경:Visual Studio 2017
지적, 조언, 질문 환영입니다! 댓글 남겨주세요~
'알고리즘 > BOJ' 카테고리의 다른 글
백준 2565번 전깃줄 (0) | 2019.01.24 |
---|---|
백준 5015번 ls (0) | 2019.01.24 |
백준 2253번 점프 (2) | 2019.01.24 |
백준 9207번 페그 솔리테어 (0) | 2019.01.22 |
백준 5988번 홀수일까 짝수일까 (0) | 2019.01.22 |