2017年4月7日 星期五

UVa 10038 Jolly Jumpers - 參考答案

Difficulty: Eazy
Ref: UVa Online Judge - UVa 10038 Jolly Jumpers
/*******************************************************/
/* UVa 10038 - Jolly Jumpers                           */
/* Author: awei0905  [at]  awei0905.blogspot.tw        */
/* Version: 2017/04/07                                 */
/*******************************************************/
#define _CRT_SECURE_NO_WARNINGS 
#include <stdio.h>
#include <stdlib.h>
#include <math.h>

int main() {
 int n, a, b, diff, flag;
 while (scanf("%d", &n) != EOF) {
  bool jolly[3001] = { 0 };
  scanf("%d", &b);
  flag = 1;
  for (int i = 1; i < n; i++) {
   a = b;
   scanf("%d", &b);
   diff = abs(a - b);
   if (diff >= n || diff <= 0 || jolly[diff])
    flag = 0;
   jolly[diff] = true;
  }
  if (flag)
   printf("Jolly\n");
  else
   printf("Not jolly\n");
 }
}
Debug: I/O, uDebug
1 2000
5 1 4 2 -1 6
2 1999 1998
4 1 4 2 3
4 1 3 2 -2
4 1 4 3 5
4 1 2 5 7
3 4 1 3
4 1 4 2 3
4 1 2 3 6
2 1 3
1 1
Jolly
Not jolly
Jolly
Jolly
Not jolly
Jolly
Jolly
Not jolly
Jolly
Not jolly
Not jolly
Jolly

沒有留言:

張貼留言