微软2014实习生及秋令营技术类职位在线测试-3.Reduce inversion count.cpp
2014-04-14 10:51
387 查看
这题没做对,也不知道错在哪里。
思路是:
先把整数都放到数组里
计算inversion个数
测了很多组都没错
思路是:
先把整数都放到数组里
计算inversion个数
测了很多组都没错
#include<iostream> #include <string> #include<string.h> #include<algorithm> #include<sstream> using namespace std; int calucate(int *a,int len){ int minx=0; for(int i=0;i<len;i++){ for(int j=i+1;j<len;j++){ if(a[i]>a[j]) minx++; } } return minx; } int main(){ string temp1; while(getline(cin,temp1)){ int num[55],k=0,fuhao=0; for(int i=0;i<temp1.size();){ num[k]=0; while(i<temp1.size()&&temp1[i]!=','){ if(temp1[i]=='-'){ fuhao=1; i++; } num[k]=num[k]*10+temp1[i]-'0'; i++; } if(fuhao){ fuhao=0; num[k]=-num[k]; } k++; i++; } int minx=calucate(num,k); for(int i=0;i<k;i++){ for(int j=i+1;j<k;j++){ swap(num[i],num[j]); int temptemp=calucate(num,k); if(minx>temptemp) minx=temptemp; swap(num[j],num[i]); } } cout<<minx<<endl; } }
相关文章推荐
- 微软2014实习生及秋令营技术类职位在线测试: Reduce inversion count
- 微软2014实习生及秋令营技术类职位在线测试——Reduce inversion count
- 【微软2014实习生及秋令营技术类职位在线测试】题目3 : Reduce inversion count
- 微软2014实习生及秋令营技术类职位在线测试_题目3 : Reduce inversion count
- 【微软2014实习生及秋令营技术类职位在线測试】题目3 : Reduce inversion count
- 微软2014实习生及秋令营技术类职位在线测试-1.StringReorder.cpp
- 微软2014实习生及秋令营技术类职位在线测试-2.K-th string.cpp
- 【微软2014实习生及秋令营技术类职位在线测试】题目1 : String reorder
- 微软2014实习生及秋令营技术类职位在线测试[题目与答案]
- 微软2014实习生及秋令营技术类职位在线测试返回比赛列表
- 微软2014实习生及秋令营技术类职位在线测试——String reorder
- 微软2014实习生及秋令营技术类职位在线测试 原创解答 题目1 : String reorder
- 微软2014实习生及秋令营技术类职位在线测试第3题
- 微软2014实习生及秋令营技术类职位在线测试
- 微软2014实习生及秋令营技术类职位在线测试——String reorder
- 【微软2014实习生及秋令营技术类职位在线测试】题目1 : String reorder
- 微软2014实习生及秋令营技术类职位在线测试——K-th string
- 微软2014实习生及秋令营技术类职位在线测试(第一题)
- 微软2014实习生及秋令营技术类职位在线测试 String reorder java
- 微软2014实习生及秋令营技术类职位在线测试 K-th string