Toj 1188 Tian Ji -The Horse Racing
来源:互联网 发布:手机淘宝宝贝详情编辑 编辑:程序博客网 时间:2024/06/01 09:46
中国有名的田忌赛马问题
贪心法即可解答,贪心时充分利用每一匹马的速度,每匹马尽量战胜对方速度最大的马,完全无法取胜的马区消耗对方的速度最快的马
#include<iostream>using namespace std;int n;int a[1000],b[1000];int main(){while(cin>>n&&n){for(int i=0;i<n;i++){cin>>a[i]; }for(int i=0;i<n;i++){cin>>b[i]; }int t,ans=0;for(int i=1;i<n;i++){ //对两组马的速度进行降序排序 for(int j=0;j<n-i;j++){if(a[j]<a[j+1]){t=a[j];a[j]=a[j+1];a[j+1]=t; }if(b[j]<b[j+1]){t=b[j];b[j]=b[j+1];b[j+1]=t;}}} //表示田忌(1)和齐王(2)最差的马(r)与最好的马(l)下标int l1=0,l2=0,r1=n-1,r2=n-1;while(l1<=r1){if(a[l1]>b[l2]){ ans+=200; //当前田忌最好的马比齐王最好的马更好 l1++; //赢 l2++; } else if(a[l1]<b[l2]){ //当前田忌最差的马不如齐王最差的马 ans-=200; //用最差的马队齐王最好的马 输 r1--; l2++;} else if(a[l1]==b[l2]&&a[r1]>b[r2]){ //当前最好的马相同,但最差的马比齐王最差的马好 ans+=200; //两者相比赢 r1--; r2--;}else if(a[l1]==b[l2]&&a[r1]<=b[r2]){ //当前田忌最坏的马不比齐王最差的马好 if(a[r1]<b[l2]){ans-=200;}r1--;l2++;} } cout<<ans<<endl; } return 0;}
0 0
- Tian Ji -- The Horse Racing (TOJ 1188)
- Toj 1188 Tian Ji -The Horse Racing
- TOJ 1188.Tian Ji -- The Horse Racing
- Tian Ji -- The Horse Racing
- Tian Ji -- The Horse Racing
- Tian Ji -- The Horse Racing
- Tian Ji -- The Horse Racing
- Tian Ji -- The Horse Racing
- Tian Ji -- The Horse Racing
- Tian Ji -- The Horse Racing
- Tian Ji -- The Horse Racing
- Tian Ji -- The Horse Racing
- Tian Ji -- The Horse Racing
- Tian Ji -- The Horse Racing
- Tian Ji -- The Horse Racing
- Tian Ji -- The Horse Racing
- Tian Ji -- The Horse Racing
- Tian Ji -- The Horse Racing
- 阿里云域名绑定动态ip解决方法
- JavaWeb项目中访问WEB-INF目录下的文件(以及项目目录问题)
- ulua使用经验
- 二叉树——重建二叉树
- Java参数引用传递之例外:null
- Toj 1188 Tian Ji -The Horse Racing
- 购物网站
- PHP面向对象(OOP)第三天
- 实战 Android中的UI过度绘制
- 设计模式(4)-行为型-观察者模式(Observer)
- NDK开发-Android Studio+gradle-experimental开发ndk
- 剑指Offer java代码
- Insert Interval
- HDU1996 汉诺塔VI