poj 2575

제목 연결:http://poj.org/problem?id=2575
제목 해석: 시퀀스 의 각 값 의 차 이 를 1 ~ n - 1 로 덮어 쓸 수 있 는 지, 가능 하 다 면 출력: "Jolly", 그렇지 않 으 면 출력: "Not jolly", 어렵 지 않 습 니 다. 각 절대 값 을 구하 면 1 ~ n - 1 을 덮어 쓸 수 있 는 지 확인 하 십시오.
코드:
#include<cstdio>
#include<iostream>
#include<algorithm>
#include<cmath>
#include<string>
#include<cstring>
using namespace std;
int flag[3001], num[3001];
int Fac(int n) {
	memset(flag,0,sizeof(flag));
	memset(num,0,sizeof(num));
	int i,j,k,f,res=0;
	for(i=1;i<=n;i++)                                                                                                                                                                                                                                                                                             
		cin>>num[i];
	for(k=2;k<=n;k++){
		f=abs(num[k]-num[k-1]);       
		if(f<3001)
			flag[f]=f;
	}
	for(j=1;j<n;j++)
		if(!flag[j]){
			res=1;break;
		}
		if(res)
			cout<<"Not jolly"<<endl;
		else
			cout<<"Jolly"<<endl;
		return 0;
}
int main() {
	int n;
	while(cin>>n) 
		Fac(n);
	return 0;
}

좋은 웹페이지 즐겨찾기