zoukankan      html  css  js  c++  java
  • Sort it

    You want to processe a sequence of n distinct integers by swapping two adjacent sequence elements until the sequence is sorted in ascending order. Then how many times it need. 
    For example, 1 2 3 5 4, we only need one operation : swap 5 and 4. 

    InputThe input consists of a number of test cases. Each case consists of two lines: the first line contains a positive integer n (n <= 1000); the next line contains a permutation of the n integers from 1 to n.OutputFor each case, output the minimum times need to sort it in ascending order on a single line.

    Sample Input

    3
    1 2 3
    4 
    4 3 2 1 

    Sample Output

    0
    6
    大概意思:给有序数组里相邻的数字进行排序,算出排序时需要进行的最小步骤数。

     1 #include <bits/stdc++.h>
     2 #define ll long long
     3 using namespace std;
     4 int a[1010];
     5 int main(){
     6     int n;
     7     while(scanf("%d",&n)!=EOF){
     8         for(int i = 0; i < n; i ++){
     9             //scanf("%d",a[i]);
    10             cin>>a[i];
    11         }
    12         ll ans = 0;
    13         for(int i =1; i < n; i ++){ //13到17行为冒泡排序法
    14             for(int j = 0; j <n-1; j ++){
    15                 if(a[j]>a[j+1]){
    16                     ans++;
    17                     swap(a[j],a[j+1]);
    18                 }
    19             }
    20         }
    21         cout << ans << endl;
    22         //printf("")
    23     }
    24     return 0;
    25 }
  • 相关阅读:
    火车进出栈问题(卡特兰数)
    HDU 4699 Editor (对顶栈)
    HDU 6430 TeaTree (线段树合并)
    Exam 4895 Crowd Control
    Exam 4894 Booming Business
    8377: Playoff
    hdu 6345 Problem J. CSGO
    HDU 6437 Problem L.Videos
    Making the Grade
    poj2279——Mr. Young's Picture Permutations
  • 原文地址:https://www.cnblogs.com/bearkid/p/7134179.html
Copyright © 2011-2022 走看看