UVA 299-Train Swapping

来源:互联网 发布:知金教育是真的吗 编辑:程序博客网 时间:2024/05/17 06:25

贴上一水题:

#include <iostream>#include <cstring>using namespace std;int main(){int a[100];int n,m;int i, k;int ok=0;int count=0;cin>>n;while(n--){cin>>m;k=m;count=0;memset(a,0,sizeof(a));for(i=1; i<=m; i++){cin>>a[i];}while(k>1){ok=0;for(i=1; i<k; i++){if(a[i]==k){count+=(k-i);ok=1;}if(ok){a[i]=a[i+1];}}k--;}cout<<"Optimal train swapping takes "<<count<<" swaps."<<endl;}return 0;}