代码如下
#include<iostream>
#include<sstream>
#include<stdlib.h>
#include<stdio.h>
#include<string.h>
using namespace std;
int main()
{
int n;
string input;
bool mark[3001];
int num[3001];
while(1){
getline(cin, input);
if(input == "")
break;
istringstream stream(input);
memset(mark, false, sizeof(mark));
memset(num, 0, sizeof(num));
stream >> n;
for(int i = 0; i < n; i++){
stream >> num[i];
}
for(int i =1; i < n; i++){
mark[abs(num[i]-num[i-1])] = true;
}
int ans = 0;
for(int i = 1; i < n; i++){
if(mark[i])
ans++;
}
if(ans != n-1)
printf("Not jolly\n");
else
printf("Jolly\n");
}
return 0;
}
PS:istringstream的用法,istringstream对象可以用来绑定一行字符串,然后以空格符为分隔符将该行分隔开。
如下:
#include<iostream>
#include<sstream>
#include<stdlib.h>
#include<stdio.h>
#include<string.h>
using namespace std;
int main()
{
string line;
string buf;
getline(cin, line);
istringstream stream(line);
while(stream >> buf)
cout << buf.c_str() << endl;
return 0;
}
结果如下: