【NOJ1047】【演算法實驗四】田忌賽馬(tian ji racing)
1047.田忌賽馬(tian ji racing)
時限:1000ms 記憶體限制:10000K 總時限:3000ms
描述
田忌與齊王賽馬,雙方各有n匹馬參賽(n<=100),每場比賽賭注為1兩黃金,現已知齊王與田忌的每匹馬的速度,並且齊王肯定是按馬的速度從快到慢出場,現要你寫一個程式幫助田忌計算他最好的結果是贏多少兩黃金(輸用負數表示)。
Tian Ji and the king play horse racing, both sides have n horse (n is no more the 100), every game a bet of 1 gold, now known king and Tian Ji each horse’s speed, and the king is definitely on the horse speed from fast to slow, we want you to write a program to help Tian Ji his best result is win the number gold (lost express with the negative number).
輸入
多個測例。
每個測例三行:第一行一個整數n,表示雙方各有n匹馬;第二行n個整數分別表示田忌的n匹馬的速度;第三行n個整數分別表示齊王的n匹馬的速度。
n=0表示輸入結束。
A plurality of test cases.
Each test case of three lines: the first line contains an integer n, said the two sides each have n horse; second lines of N integers n Tian Ji horse speed; third lines of N integers King n horse speed.
N = 0 indicates the end of input.
輸出
每行一個整數,田忌最多能贏多少兩黃金。
how many gold the tian ji win
輸入樣例
3
92 83 71
95 87 74
2
20 20
20 20
2
20 19
22 18
3
20 20 10
20 20 10
0
輸出樣例
1
0
0
0
#include<iostream>
#include<cstdlib>
#include<cmath>
#include<algorithm>
using namespace std;
bool cmp(int a,int b)
{
return a>b;
}
int max(int a,int b)
{
return a>b?a:b;
}
int main()
{
int n,tian[105],qi[105];
int l[106][106];
while(cin>>n&&n)
{
int i,j;
for(i=0;i<n;i++) cin>>tian[i];
for(j=0;j<n;j++) cin>>qi[j];
sort(tian,tian+n,cmp);
sort(qi,qi+n,cmp);
for(i=0;i<=n;i++)
for(j=0;j<=n;j++)
l[i][j]=0;
for(i=1;i<=n;i++)
{
for(j=1;j<=n;j++)
{
//讓我最差的馬跟你最差的馬比,如果能贏,那我就金子+1;
if(tian[j-1]>qi[i-1])
{
l[j][i]=l[j-1][i-1]+1;
}
//如果平局,我先比較一下,是跟你最差的馬比賽好,還是跟你最好的馬比賽好,把這兩種情況能拿到的金子數都算出來,選一個max
else if(tian[j-1]==qi[i-1])
{
l[j][i]=max(l[j-1][i-1],l[j-1][i]-1);
}
//如果會輸,與其輸給你最差的馬,不如輸給你最好的馬,金子-1也認了,起碼耗掉你一匹最好的馬;
else
{
l[j][i]=l[j-1][i]-1;
}
}
}
cout<<l[n][n]<<endl;
}
return 0;
}
相關文章
- 田忌賽馬博弈矩陣分析矩陣
- 筆試程式碼題--C++--深信服--田忌賽馬筆試C++
- 創意觀察|靠“田忌賽馬”素材,這款遊戲打了個翻身仗遊戲
- 實驗四
- 外觀模式(Facade模式)詳解——小馬同學@Tian模式
- 實驗四 CTF實踐
- 彙編 實驗四
- 實驗四C++C++
- 童言無忌
- canvas實現圖片馬賽克Canvas
- 裝飾模式(裝飾設計模式)詳解——小馬同學@Tian設計模式
- 行為設計—策略設計模式詳解——小馬同學@Tian設計模式
- 工程數學實驗四
- JS實現馬賽克圖片效果JS
- KNN演算法實驗KNN演算法
- 行為型模式概述(行為型模式的分類)——小馬同學@Tian模式
- 資料採集實驗四
- 實驗四 JavaBean及Servlet使用JavaBeanServlet
- 6.15 工程數學實驗四
- 網路滲透實驗四
- OSPF的基本配置實驗(四)
- 實驗四————RIP協議的配置協議
- 盒馬供應鏈演算法實戰演算法
- 入仙山耕靈田《一方靈田》搶先體驗版今日上線
- WebGL實現簡易的區域性“馬賽克”Web
- vscode-di-ji-kuai-su-pei-zhiVSCodeAI
- 第四章 音樂實驗
- 2024/6/5 工程數學 實驗四
- 實驗七: 查詢演算法的實現演算法
- 魏無忌 贏政 劉季
- 湖南大學人工智慧實驗三:分類演算法實驗人工智慧演算法
- 實驗四 棧和佇列的基本操作佇列
- 實驗專案四:圖書管理系統
- FPGA/EDA實驗箱-競賽普及版(ALTERA)FPGA
- 《資料探勘導論》實驗課——實驗四、資料探勘之KNN,Naive BayesKNNAI
- BPAA 第四屆全球應用演算法模型典範大賽啟動演算法模型
- LRU演算法四種實現方式介紹演算法
- 遺傳演算法詳解與實驗演算法