3 solutions

  • 1
    @ 2025-5-9 18:49:17
    #include<bits/stdc++.h>
    using namespace std;
    const int N=55;
    struct Stu{
    	int num;
    	int w;
    }s[N];
    int main(){
    	int n;
    	cin>>n;
    	for(int i=1;i<=n;i++)
    	{
    		cin>>s[i].num;
    	}
    	int res=0;
    	for(int i=1;i<=n;i++)
    	{
    		for(int j=1;j+1<=n-i+1;j++)
    		{
    			if(s[j].num>s[j+1].num)
    			{
    				s[j].w++,s[j+1].w++;
    				res=res+s[j].w+s[j+1].w;
    				swap(s[j],s[j+1]);	
    			} 
    		}
    	}
    	cout<<res;
        return 0;
    }
    
    • 0
      @ 2024-2-1 9:55:09
      #include<bits/stdc++.h>
      using namespace std;
      const int N=60;
      struct stu
      {
      int h,k;
      };
      stu a[N];
      int main()
      {
      int n;
      cin>>n;
      for(int i=1;i<=n;i++)
      {
      cin>>a[i].h;
      }
      int s=0;
      for(int i=1;i<=n;i++) //冒泡排序
      {
      int cnt=0;
      for(int j=1;j<=n-i;j++)
      {
      if(a[j].h>a[j+1].h)
      {
      cnt++;
      a[j].k++; //累加
      a[j+1].k++; //累加
      s+=a[j].k+a[j+1].k; //求和
      swap(a[j],a[j+1]);    //交换
      }
      }
      if(cnt==0)
      {
      break;
      }
      }
      cout<<s;
      return 0;
      }
      
      
      
      
      • 0
        @ 2024-2-1 9:54:34
        
        

        #include<bits/stdc++.h> using namespace std; const int N=60; struct stu { int h,k; }; stu a[N]; int main() { int n; cin>>n; for(int i=1;i<=n;i++) { cin>>a[i].h; } int s=0; for(int i=1;i<=n;i++) //冒泡排序 { int cnt=0; for(int j=1;j<=n-i;j++) { if(a[j].h>a[j+1].h) { cnt++; a[j].k++; //累加 a[j+1].k++; //累加 s+=a[j].k+a[j+1].k; //求和 swap(a[j],a[j+1]); //交换 } } if(cnt==0) { break; } } cout<<s; return 0; }

        
        
        • 1

        Information

        ID
        642
        Time
        1000ms
        Memory
        128MiB
        Difficulty
        3
        Tags
        # Submissions
        64
        Accepted
        24
        Uploaded By