6 条题解

  • 4
    @ 2024-10-11 18:55:54
    /*****************************************
    备注:
    ******************************************/
    #include <queue>
    #include <math.h>
    #include <stack>
    #include <stdio.h>
    #include <iostream>
    #include <vector>
    #include <iomanip>
    #include <string.h>
    #include <algorithm>
    using namespace std;
    #define LL long long
    const int N = 1e5 + 10;
    const int INF = 0x3f3f3f3f;
    int a[N];
    int main()
    {
    	int n ;
    	while(cin >> n)
    	{
    		memset(a,0,sizeof(a));//string.h  初始化数组
    		int pre;
    		cin >> pre;
    		int now;
    		for(int i = 1 ; i < n ; i++)
    		{
    			cin >> now;
    			int s = now - pre;
    			if(s < 0)
    				s = s * -1;
    			a[s] = 1;
    			pre = now;
    		}
    		int flag = 1;
    		for(int i = 1 ; i < n ; i++)
    		{
    			if(a[i] == 0)
    			{
    				flag=  0;
    				break;
    			}
    		}
    		if(flag == 1)
    			cout << "Jolly\n";
    		else 
    			cout << "Not jolly\n";
    	}
    	return 0;
    }
    
    • 3
      @ 2023-4-15 15:43:32

      输入时因为只用计算差,可以只用两个变量迭代,计算是否有趣也可以用桶排解决

      int n,x,y;
      bool a[3001];
      int main(){
      	while(cin>>n){
      		memset(a,0,sizeof(a));
              cin>>x;
      		for(int i=2;i<=n;i++){
                  cin>>y;
      			int cha=abs(y-x);
                  if(cha<n)a[cha]=1;
                  x=y;
      		}
      		int cnt=0;
      		for(int i=1;i<=n-1;i++)if(a[i])cnt++;
      		if(cnt==n-1)cout<<"Jolly\n";
      		else cout<<"Not jolly\n";
      	}
      	return 0;
      }
      
    • 1
      @ 2026-7-21 21:20:30

      int n,x,y; bool a[3001]; int main(){ while(cin>>n){ memset(a,0,sizeof(a)); cin>>x; for(int i=2;i<=n;i++){ cin>>y; int cha=abs(y-x); if(cha<n)a[cha]=1; x=y; } int cnt=0; for(int i=1;i<=n-1;i++)if(a[i])cnt++; if(cnt==n-1)cout<<"Jolly\n"; else cout<<"Not jolly\n"; } return 0; }

      • 0
        @ 2025-6-22 18:27:26
        #include<bits/stdc++.h>
        using namespace std;
        const int N=3e3+10;
        int n,x,a[N];
        bool v[N];
        int main(){
        	while(cin>>n){
        		int ans=0;
        		cin>>a[1];
        		for(int i=2;i<=n;i++){
        			cin>>a[i];
        			if(abs(a[i]-a[i-1])<n&&v[abs(a[i]-a[i-1])]==0){
        				v[abs(a[i]-a[i-1])]=1;
        				ans++;
        			}
        		}
        		if(ans==n-1){
        			cout<<"Jolly"<<endl;
        		}else{
        			cout<<"Not jolly"<<endl;
        		}
        		memset(v,0,sizeof(v));
        	}
        	return 0;
        }
        
        
        
        • -1
          @ 2025-6-22 20:08:43
          #include<bits/stdc++.h>
          using namespace std;
          const int N =3e3+10;
          int n,a[N];
          bool v[N];
          int main(){
          	while(cin>>n){
          		memset(v,0,sizeof(v));
          		int sum=0;//计算有多少个标记的数
                  cin>>a[1];
          		for(int i=2;i<=n;i++)
          		{
                      cin>>a[i];
                      if(abs(a[i]-a[i-1])<n&&v[abs(a[i]-a[i-1])]==0)
          			{
          				v[abs(a[i]-a[i-1])]=1;//标记
          				sum++;
          			}
          		}
          		if(sum==n-1)
          			cout<<"Jolly"<<endl;
          		else 
          			cout<<"Not jolly"<<endl;
          	}
          	return 0;
          }
          
          
          • -1
            @ 2025-6-22 20:03:24
            #include <bits/stdc++.h>
            using namespace std;
            const int N = 3e3 + 10;
            int n,a[N];
            bool v[N];
            int main(){
            	while(cin >> n){
            		memset(v,0,sizeof(v));
            		int sum = 0;
            		cin >> a[1];
            		for(int i = 2;i <= n;i++){
            			cin >> a[i];
            			if(abs(a[i] - a[i - 1]) < n && v[abs(a[i] - a[i - 1])] == 0){
            				v[abs(a[i] - a[i - 1])] = 1;
            				sum++;
            			}
            		}
            		if(sum == n - 1){
            			cout << "Jolly" << endl;
            		}else{
            			cout << "Not jolly" << endl;
            		}
            	}
            	return 0;
            } 
            
            • 1

            信息

            ID
            1024
            时间
            1000ms
            内存
            128MiB
            难度
            8
            标签
            递交数
            866
            已通过
            145
            上传者