HDU 1789 Doing Homework again
来源:互联网 发布:学生网络欺凌事件 编辑:程序博客网 时间:2024/04/29 01:11
题目:
大体意思是做作业时每个作业都有时间限制也都有完不成相应的扣分,每个作业都花费一天做完,计算最少扣分是多少。
代码:
#include<cstdio>#include<algorithm>using namespace std;int sum;int search_min(int b[2][1010],int n){int i;int min=b[1][0];int wei=0;for(i=1;i<=n;i++){if(min>b[1][i]){min=b[1][i];wei=i;}}sum=sum+min;return wei;}main(){int i,j,k;int t,n;int shu;int flag;int wei;int a[2][1010],b[2][1010];scanf("%d",&t);for(;t>0;t--){flag=0;sum=0;scanf("%d",&n); for(j=0;j<n;j++){scanf("%d",&a[0][j]);b[0][j]=a[0][j];}for(j=0;j<n;j++){scanf("%d",&a[1][j]);b[1][j]=a[1][j];}for(i=0;i<n;i++){for(j=0;j<n-1;j++){if(b[0][j]>b[0][j+1]){shu=b[0][j];b[0][j]=b[0][j+1];b[0][j+1]=shu;shu=b[1][j];b[1][j]=b[1][j+1];b[1][j+1]=shu;}}}for(i=0;i<n-1;i++){for(j=0;j<n-1;j++){if(b[0][j]==b[0][j+1]){if(b[1][j]>b[1][j+1]){shu=b[1][j];b[1][j]=b[1][j+1];b[1][j+1]=shu;shu=b[0][j];b[0][j]=b[0][j+1];b[0][j+1]=shu;}}}}for(j=0;j<n;j++){if(b[0][j]<=j){wei=search_min(b,j);for(i=wei;i<n;i++){b[0][i]=b[0][i+1];b[1][i]=b[1][i+1];}n--;j--; }}printf("%d\n",sum);}}
这个题用数组做的,做了一上午。。。
做完了还是不知道贪心算法到底啥意思。。。
0 0
- hdu 1789 doing homework again
- HDU 1789 Doing Homework again!
- hdu 1789 Doing Homework again
- hdu 1789 Doing Homework again
- hdu 1789 Doing Homework again
- hdu 1789 Doing Homework again
- Hdu 1789 - Doing Homework again
- HDU 1789 Doing Homework again
- hdu 1789 Doing Homework again
- HDU 1789 Doing Homework again
- hdu 1789 Doing Homework again
- hdu 1789 doing homework again
- HDU 1789 Doing Homework again
- HDU 1789 Doing Homework again
- HDU 1789 Doing Homework again
- HDU - 1789 Doing Homework again
- HDU 1789 Doing Homework again
- hdu 1789 Doing Homework again
- Java桌面程序打包成exe可执行文件
- Oracle 中如何判断时间类型Date是否为空
- 磁盘阵列RAID 5与6的比较
- Esper学习之五:EPL语法(一)
- 设计模式(C++版)之(factory)工厂模式
- HDU 1789 Doing Homework again
- 超级云计算能否真正实现?
- 多张图片合成连续动画
- user2eng 笔记
- WPF依赖项基础学习
- 设计模式——最少知识原则/迪米特法则
- Esper学习之六:EPL语法(二)
- 2.17
- cocos2d-x-2.2 android 移植 打包 apk