11292 - Dragon of Loowater (Time limit: 1.000 seconds)
2016-03-19 09:51
477 查看
题目
解题思路
1.将两个数组进行升序排序,这里的数据规模为20000,所以需要n^2以下的复杂度2.排好序之后,将两个数组从小到大进行匹配,这里的算法思想是贪心,可以证明这样做是正确的
3.写代码时,主要不要混用C和C++,UVa的judge对此比较严格
4.算法的时间复杂度是O(nlogn+mlogm),空间复杂度是O(n+m)
通过代码
#include<iostream> #include<algorithm> using namespace std; int N[20005]; int M[20005]; int main(){ int n,m; int i,j; int min; while(true) { cin>>n; cin>>m; if(n*m==0) break; for(int x=0;x<n;++x) cin>>N[x]; for(int x=0;x<m;++x) cin>>M[x]; sort(N,N+n); sort(M,M+m); min=i=j=0; while(i!=n&&j<m) { if(M[j]>=N[i]){ min+=M[j]; ++i;++j; //printf("debug: N=%d M=%d\n",N[i-1],M[j-1]); } else ++j; } if(i==n) cout<<min<<endl; //printf("%d\n",min); else cout<<"Loowater is doomed!"<<endl; } return 0; }
运行截图
相关文章推荐
- go圣经笔记--第二章
- velocity和mangodb和apk的关联
- ant和velocity和mangodb的关联
- udp和mangodb和dos的关联
- jre和wireshark和mangodb的关联
- 我与小娜(39):AlphaGo创造力源于何处?
- golang基础-防忘指北
- 让我们一起Go(八)
- 让我们一起Go(十)
- 让我们一起Go(七)
- 我是如何用Go语言搭建自己的博客的
- 让我们一起Go(四)
- 让我们一起Go(十二)
- 让我们一起Go(二)
- Go语言Windows程序设计(2)--第一个窗口程序
- 让我们一起Go(六)
- 让我们一起Go(一)
- Go语言Windows程序设计(3)--创建子窗口
- 让我们一起Go(十三)
- 让我们一起Go(九)