//本题为贪心算法的简单应用,即为找到整体最优解,而去找局部最优解,因为题目比较简单,所以直接写出题解。 //对于贪心算法的大多数题,一般还是要用到自定义函数,可能还会搭配递归算法。 #include<iostream> #include<algorithm> using namespace std ; bool compare(int a,int b) ; int a[2000],b[2000],x[2000],n[2000] ;//a,b储存的数,n每组数的个数,x储存结果 int main() { int t ; cin>>t ; for(int i=1;i<=t;i++) { cin>>n[i] ; for(int j=0;j<n[i];j++) { cin>>a[j] ; } for(int j=0;j<n[i];j++) { cin>>b[j] ; } sort(a,a+n[i]) ;//从小到大排序 sort(b,b+n[i],compare) ;//从大到小排序 for(int j=0;j<n[i];j++) { x[i]+=a[j]*b[j] ;//各位积累加 } } for(int i=1;i<=t;i++) { cout<<x[i]<<endl ; } return 0 ; } //用于调整sort的排序方式 bool compare(int a,int b) { return a>b ; }
纯手动备注,请伸手党点赞~
0.0分
1 人评分
C语言训练-立方和不等式 (C语言代码)浏览:751 |
C语言程序设计教程(第三版)课后习题10.7 (C语言代码)浏览:973 |
C语言程序设计教程(第三版)课后习题5.7 (Java代码)浏览:889 |
C语言训练-求1+2!+3!+...+N!的和 (C语言代码)万恶的long long浏览:882 |
WU-格式化数据输出 (C语言代码)浏览:1755 |
1035 题解浏览:786 |
简单的a+b (C语言代码)浏览:416 |
拆分位数 (C语言代码)浏览:522 |
小O的乘积 (C++代码)浏览:755 |
C语言程序设计教程(第三版)课后习题3.7 (C语言代码)浏览:607 |