/* *由此题发现规律 就是冒泡排序的交换次数等于这个数列的逆序对 的对数! */ #include<iostream> #include<stdio.h> #include<algorithm> #define MAXN 2000 using namespace std; int _m[MAXN]; int main() { //freopen("acm.acm","r",stdin); int test; int k; int i; int j; int tem; int ans; int num; cin>>test; for(k = 1; k <= test; ++ k) { ans = 0; cin>>num; for(i = 0; i < num; ++ i) { cin>>_m[i]; } for(i = 0; i < num-1; ++ i) { for(j = 0; j < num-1-i; ++ j) { if(_m[j] > _m[j+1]) { iter_swap(&_m[j],&_m[j+1]); ++ ans; } } } cout<<"Scenario #"<<k<<":"<<endl<<ans<<endl<<endl; } }
关注我的公众号,当然,如果你对Java, Scala, Python等技术经验,以及编程日记,感兴趣的话。
技术网站地址: vmfor.com