斯沃琪(SWQ)的梦


斯沃琪(SWQ)的梦
难度级别:B; 运行时间限制:1000ms; 运行空间限制:256000KB; 代码长度限制:2000000B
试题描述
SWQ建立了一个帝国,她对SWQ帝国秩序感到满意,于是决定启程离开SWQ帝国出去环游世界。在她动身之前,SWQ决定赋予自己SWQ帝国边防军司令WXJ最强大的能量以守护帝国、保卫这里的平衡与和谐。在那个时代,平衡是个梦想。因为有很多奇异的物种拥有各种不稳定的能量,平衡瞬间即被打破。WXJ决定求助于你,帮助他完成这个梦想。
一串数列即表示一个世界的状态。
平衡是指这串数列以升序排列。而从一串无序数列到有序数列需要通过交换数列中的元素来实现。WXJ的能量只能交换向相邻两个数字。他想知道他最少需要交换几次就能使数列有序。
输入
*第1行:为数列中数的个数n
*第2行:为n<=10000个数。表示当前数列的状态。
输出
*表示最少需要交换几次能达到平衡状态。
输入示例
4
2 1 4 3
输出示例
2
其他说明
正当SWQ帝国蒸蒸日上的时候。
搬运公司的老板一脚把睡在天桥底下的SWQ踹了起来,大喊:“快去搬集装箱!”
LJX认为n<=100000

选择排序

 1 #include<iostream>
 2 using namespace std;
 3 int a[100010];
 4 int main()
 5 {
 6     int n,ans=0;
 7     cin>>n;
 8     int i,j,x;
 9     for(i=0;i<n;i++)
10     {
11         cin>>a[i];
12     }
13     for(i=0;i<n;i++)
14     {
15         for(j=0;j<n-i-1;j++)
16         {
17             if(a[j]>a[j+1])
18             {
19                 x=a[j];
20                 a[j]=a[j+1];
21                 a[j+1]=x;
22                 ans++;
23             }
24         }
25     }
26     cout<<ans;
27     //system("pause");
28     return 0;
29 }

 

posted @ 2016-07-19 14:31  LZHEHE  阅读(254)  评论(0编辑  收藏  举报