11 solutions

  • 8
    @ 2024-4-21 11:36:02
    #include<bits/stdc++.h>
    using namespace std;
    const int N=3001;
    int a[N],c[N];
    int main()
    {
    	int n;
        cin>>n;
        for(int i=1;i<=n;i++) //获取原数组 
        {
            cin>>a[i];
        }
        for(int i=1;i<n;i++) //计算差值放到c数组之中 
        {
           c[i]=abs(a[i+1]-a[i]);
        }
        n--;
        for(int i=1;i<=n;i++)  //冒泡排序 
        {
    	    for(int j=1;j+1<=n-i+1;j++) 
    	    {
    		    if(c[j]>c[j+1]) 
    		    {
    			    swap(c[j],c[j+1]);
    		    }
    	    }
        }
        for(int i=1;i<=n;i++)
        {
            if(c[i]!=i) //不符合有趣跳跃的条件 
            {
                cout<<"Not jolly";
                return 0;
            }
        }
        cout<<"Jolly"; //符合有趣的跳跃 
        return 0;
    }
    
    • 1
      @ 2026-5-31 11:58:08

      简易版

      #include<bits/stdc++.h>
      using namespace std;
      int a[1111110];
      int b[1111110];
      int main()
      {
          int n;cin>>n;
          for(int i=1;i<=n;i++) cin>>a[i];
          for(int i=1;i<n;i++)
          {
              b[i]=abs(a[i+1]-a[i]);
          }
          sort(b+1,b+n+1);
          for(int i=1;i<n;i++)
          {
              if(b[i]+1!=b[i+1])
              {
                  cout<<"Not jolly";
                  return 0;
              }
          }
          cout<<"Jolly";
          return 0;
      }
      
      • 1
        @ 2025-6-29 10:51:26

        复杂版

        #include<bits/stdc++.h>
        using namespace std;
        int a[11110],c[11110];
        int main()
        {
            int n;cin>>n;
            for(int i=1;i<=n;i++)
            {
                cin>>a[i];
            }
            for(int i=1;i<n;i++)
            {
                c[i]=abs(a[i+1]-a[i]);
            }
            n--;
            for(int i=1;i<=n;i++)
            {
                for(int j=1;j+1<=n;j++)
                {
                    if(c[j]>c[j+1]) swap(c[j],c[j+1]);
                }
            }
            for(int i=1;i<=n;i++)
            {
                if(c[i]!=i) 
                {
                    cout<<"Not jolly";
                    return 0;
                }
            }
            cout<<"Jolly";
            return 0;
        }
        
        • -1
          @ 2025-10-5 9:35:47
          	sort(a+1,a+n+1);//将a[1]到a[n]从小到大排序
          
          • -1
            @ 2025-2-26 17:48:44
            #include<bits/stdc++.h>
            using namespace std;
            const int N=3001;
            int a[N],c[N];
            int main()
            {
            	int n;
                cin>>n;
                for(int i=1;i<=n;i++)
                {
                    cin>>a[i];
                }
                for(int i=1;i<n;i++)
                {
                   c[i]=abs(a[i+1]-a[i]);
                }
                n--;
                for(int i=1;i<=n;i++)
                {
            	    for(int j=1;j+1<=n-i+1;j++) 
            	    {
            		    if(c[j]>c[j+1]) 
            		    {
            			    swap(c[j],c[j+1]);
            		    }
            	    }
                }
                for(int i=1;i<=n;i++)
                {
                    if(c[i]!=i)
                    {
                        cout<<"Not jolly";
                        return 0;
                    }
                }
                cout<<"Jolly";
                return 0;
            }
            
            • -2
              @ 2024-11-30 9:22:25
              #include<bits/stdc++.h>
              using namespace std;
              int main()
              {
                  int n,a[3001],b[3000];
                  cin>>n;
                  for(int i=1;i<=n;i++)
                  {
                      cin>>a[i];
                  }
                  bool jud;
                  if(n==1) cout<<"Not jolly";
                  else
                  {
                      for(int j=1;j<=n-1;j++)
                      {
                          b[j]=abs(a[j+1]-a[j]);
                      }
                      for(int k=1;k<=n-2;k++)
                      {
                          if(b[k+1]-b[k]==1) jud=true;
                          else
                          {
                              jud=false;
                              break;
                          }
                      }
                      if(jud) cout<<"Jolly";
                      else cout<<"Not jolly";
                  }
              }
              
              
              • -3
                @ 2025-1-4 9:36:17
                #include<bits/stdc++.h>
                using namespace std;
                const int N=3001;
                int a[N],c[N];
                int main()
                {
                	int n;
                    cin>>n;
                    for(int i=1;i<=n;i++) //获取原数组 
                    {
                        cin>>a[i];
                    }
                    for(int i=1;i<n;i++) //计算差值放到c数组之中 
                    {
                       c[i]=abs(a[i+1]-a[i]);
                    }
                    n--;
                    for(int i=1;i<=n;i++)  //冒泡排序 
                    {
                	    for(int j=1;j+1<=n-i+1;j++) 
                	    {
                		    if(c[j]>c[j+1]) 
                		    {
                			    swap(c[j],c[j+1]);
                		    }
                	    }
                    }
                    for(int i=1;i<=n;i++)
                    {
                        if(c[i]!=i) //不符合有趣跳跃的条件 
                        {
                            cout<<"Not jolly";
                            return 0;
                        }
                    }
                    cout<<"Jolly"; //符合有趣的跳跃 
                    return 0;
                }
                
                
                • -3
                  @ 2024-11-23 11:48:53
                  #include<bits/stdc++.h>
                  using namespace std;
                  const int N=3001;
                  int a[N],c[N];
                  int main()
                  {
                  	int n;
                      cin>>n;
                      for(int i=1;i<=n;i++)
                      {
                          cin>>a[i];
                      }
                      for(int i=1;i<n;i++)
                      {
                         c[i]=abs(a[i+1]-a[i]);
                      }
                      n--;
                      for(int i=1;i<=n;i++)
                      {
                  	    for(int j=1;j+1<=n-i+1;j++) 
                  	    {
                  		    if(c[j]>c[j+1]) 
                  		    {
                  			    swap(c[j],c[j+1]);
                  		    }
                  	    }
                      }
                      for(int i=1;i<=n;i++)
                      {
                          if(c[i]!=i)
                          {
                              cout<<"Not jolly";
                              return 0;
                          }
                      }
                      cout<<"Jolly";
                      return 0;
                  }
                  
                  • -3
                    @ 2024-11-16 11:57:59
                    #include<bits/stdc++.h>
                    using namespace std;
                    const int N=3001;
                    int a[N],c[N];
                    int main()
                    {
                    	int n;
                        cin>>n;
                        for(int i=1;i<=n;i++)
                        {
                            cin>>a[i];
                        }
                        for(int i=1;i<n;i++)
                        {
                           c[i]=abs(a[i+1]-a[i]);
                        }
                        n--;
                        for(int i=1;i<=n;i++)
                        {
                    	    for(int j=1;j+1<=n-i+1;j++) 
                    	    {
                    		    if(c[j]>c[j+1]) 
                    		    {
                    			    swap(c[j],c[j+1]);
                    		    }
                    	    }
                        }
                        for(int i=1;i<=n;i++)
                        {
                            if(c[i]!=i)
                            {
                                cout<<"Not jolly";
                                return 0;
                            }
                        }
                        cout<<"Jolly";
                        return 0;
                    }
                    
                    • -3
                      @ 2024-11-16 11:57:44

                      #include<bits/stdc++.h> using namespace std; const int N=3001; int a[N],c[N]; int main() { int n; cin>>n; for(int i=1;i<=n;i++) { cin>>a[i]; } for(int i=1;i<n;i++) { c[i]=abs(a[i+1]-a[i]); } n--; for(int i=1;i<=n;i++) { for(int j=1;j+1<=n-i+1;j++) { if(c[j]>c[j+1]) { swap(c[j],c[j+1]); } } } for(int i=1;i<=n;i++) { if(c[i]!=i) { cout<<"Not jolly"; return 0; } } cout<<"Jolly"; return 0; }

                      • -3
                        @ 2024-11-16 11:49:36

                        #include<bits/stdc++.h> using namespace std; const int N=3001; int a[N],c[N]; int main() { int n; cin>>n; for(int i=1;i<=n;i++) //获取原数组 { cin>>a[i]; } for(int i=1;i<n;i++) //计算差值放到c数组之中 { c[i]=abs(a[i+1]-a[i]); } n--; for(int i=1;i<=n;i++) //冒泡排序 { for(int j=1;j+1<=n-i+1;j++) { if(c[j]>c[j+1]) { swap(c[j],c[j+1]); } } } for(int i=1;i<=n;i++) { if(c[i]!=i) //不符合有趣跳跃的条件 { cout<<"Not jolly"; return 0; } } cout<<"Jolly"; //符合有趣的跳跃 return 0; }

                        • 1

                        Information

                        ID
                        75
                        Time
                        1000ms
                        Memory
                        256MiB
                        Difficulty
                        3
                        Tags
                        (None)
                        # Submissions
                        174
                        Accepted
                        54
                        Uploaded By