RSS
![Table_bottom](/images/table_bottom.jpg?1375031774)
linjiazhen
![Avatar](/user_files/linjiazhen/config/avatar.png?1375032418)
![Table_bottom](/images/table_bottom.jpg?1375031774)
分类
![Table_bottom](/images/table_bottom.jpg?1375031774)
标签云
![Table_bottom](/images/table_bottom.jpg?1375031774)
搜索
![Table_bottom](/images/table_bottom.jpg?1375031774)
随机文章
![Table_bottom](/images/table_bottom.jpg?1375031774)
最新评论
![Table_bottom](/images/table_bottom.jpg?1375031774)
最新留言
![Table_bottom](/images/table_bottom.jpg?1375031774)
链接
![Table_bottom](/images/table_bottom.jpg?1375031774)
计数器
145646
![Table_bottom](/images/table_bottom.jpg?1375031774)
UVA 299: Train Swapping
Jasonlin
posted @ 2011年3月28日 12:03
in UVA
, 2080 阅读
题目大意:
按序号从大到小排列火车,相邻之间才能交换。求交换次数。
解题思路:
就是冒泡法排序嘛~
解题代码:
#include<iostream> using namespace std; int t[100]; int n; int swap(){ int count=0; for(int i=0;i<n-1;i++) for(int j=0;j<n-1-i;j++) if(t[j]>t[j+1]){ int tmp=t[j]; t[j]=t[j+1]; t[j+1]=tmp; count++; } return count; } int main(){ int cas; cin>>cas; while(cas--){ cin>>n; for(int i=0;i<n;i++) cin>>t[i]; cout<<"Optimal train swapping takes "<<swap()<<" swaps."<<endl; } return 0; }