日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

POJ 2287 田忌赛马(贪心)

發(fā)布時(shí)間:2024/7/5 编程问答 57 豆豆
生活随笔 收集整理的這篇文章主要介紹了 POJ 2287 田忌赛马(贪心) 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

文章目錄

    • 1. 題目
      • 1.1 題目鏈接
      • 1.2 題目大意
      • 1.3 解題思路
    • 2. Accepted 代碼

1. 題目

1.1 題目鏈接

http://poj.org/problem?id=2287

1.2 題目大意

雙方各有n匹戰(zhàn)斗力各異的馬,分別派出來PK,假設(shè)對方先出牌,我方后出,求我方最多能勝幾場

1.3 解題思路

  • 對方出來戰(zhàn)斗力k的馬
  • 我方派出戰(zhàn)斗力比k大的且最弱的馬,贏,保存實(shí)力更高的馬
  • 若均無法戰(zhàn)勝對方,派出最弱的馬,讓你贏個(gè)最弱的,保存實(shí)力

2. Accepted 代碼

/*** @description: poj2287田忌賽馬(貪心)* @author: michael ming* @date: 2019/7/2 23:55* @modified by: */ #include <iostream> #include <algorithm> using namespace std; bool comp(int a, int b) {return a > b; } int main() {int i, j, iend, jend, n, money;int tianji[1001], king[1001];while(cin >> n && n != 0){for(i = 0; i < n; ++i)cin >> tianji[i];for(j = 0; j < n; ++j)cin >> king[j];sort(tianji, tianji+n, comp);//從大到小排序sort(king, king+n, comp);//從大到小排序i = j = 0;iend = jend = n-1;money = 0;while(i <= iend){if(tianji[i] > king[j])//我方能打贏所有的,那么我就打掉一個(gè)最厲害的{money += 200;i++,j++;}else if(tianji[i] < king[j])//我方最大的都比別人小,讓最弱的出戰(zhàn){money -= 200;iend--,j++;}else//兩邊最厲害的一樣{if(tianji[iend] > king[jend])//最弱的馬都能打敗你的最弱馬,那就用最小實(shí)力的{money += 200;iend--,jend--;}else if(tianji[iend] < king[jend])//我最弱的馬沒有勝算,讓給你最強(qiáng)的馬吃掉{money -= 200;iend--,j++;}else//兩邊最厲害的,和最弱的都一樣,{if(tianji[iend] < king[j])money -= 200;//我最弱的給你最強(qiáng)的吃掉iend--,j++;//如果tianji[iend] == king[j]//說明剩余兩邊的馬全部相等,打平,金錢不變,下標(biāo)挪一下}}}cout << money << endl;}return 0; }

總結(jié)

以上是生活随笔為你收集整理的POJ 2287 田忌赛马(贪心)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。