Peter 时光机

追求卓越,成功便会不期而至。

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

最近在学C++,为了免于无聊,就去网上找了OJ,发现HDOJ蛮适合我的。

而且有个ACM STEP,难度适中的题,正好练习练习C++的各种技巧。

 

忙活了一天把Section 1,Section 2 给做完了,接下来进入Section 3,初步扫描一下好像是些排序题。正好C++的算法里有个排序,就用上了。

同时也用了vector来存储数据。(后来出现了问题。。)

 

#include<iostream>
#include<algorithm>
#include<vector>

using namespace std;

int main(){
int n,suma,sumb,a1,b1;
vector<int> a,b;
while(cin>>n){
if(n==0)break;
suma=0;sumb=0;

a.clear();b.clear();//一开始的时候把这句话忘记了... 结果出错了,显然的.. 吸取教训 - !-
for(int i(0);i<n;i++) {cin>>a1;a.push_back(a1);}
for(int j(0);j<n;j++) {cin>>b1;b.push_back(b1);}

sort(a.begin(),a.end());sort(b.begin(),b.end());

for(int k(0);k<n;k++){
if(a[k]>b[k]) suma+=2;
else if(b[k]>a[k]) sumb+=2;
else {suma+=1;sumb+=1;}
}
cout<<suma<<" vs "<<sumb<<endl;
}

return 0;
}

 

总结:除了忘记把vector清空以外,其他都没问题。

同时复习了vector.以及sort排序.就题目本身来说,还是比较水的,不需要什么算法。

posted on 2011-11-14 19:45  Peter 时光机  阅读(292)  评论(0编辑  收藏  举报