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

歡迎訪問(wèn) 生活随笔!

生活随笔

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

编程问答

完美世界2020编程题-救雅典娜 英雄AB PK

發(fā)布時(shí)間:2024/7/5 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 完美世界2020编程题-救雅典娜 英雄AB PK 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
版權(quán)聲明:本文為博主原創(chuàng)文章,轉(zhuǎn)載請(qǐng)注明出處。 https://blog.csdn.net/u012319493/article/details/82154113 </div><link rel="stylesheet" href="https://csdnimg.cn/release/phoenix/template/css/ck_htmledit_views-f57960eb32.css"><div id="content_views" class="markdown_views"><!-- flowchart 箭頭圖標(biāo) 勿刪 --><svg xmlns="http://www.w3.org/2000/svg" style="display: none;"><path stroke-linecap="round" d="M5,0 0,2.5 5,5z" id="raphael-marker-block" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);"></path></svg><p>救雅典娜 <br>

時(shí)間限制:C/C++語(yǔ)言 1000MS;其他語(yǔ)言 3000MS

內(nèi)存限制:C/C++語(yǔ)言 65536KB;其他語(yǔ)言 589824KB

題目描述:

黃金圣斗士歐洛斯要去圣域救雅典娜,需要從左上角出發(fā),每次只能向右或向下走,最后達(dá)到右下角見(jiàn)到雅典娜。地圖每個(gè)位置的值代表圣斗士要遭遇的事情,如果是負(fù)數(shù),說(shuō)明此處有阻擊,要讓圣斗士損失血量,如果是非負(fù)數(shù),代表此處有血瓶,能讓圣斗士回血,圣斗士從左上角走到右下角的過(guò)程中,走到任何一個(gè)位置時(shí),血量都不能少于1,為了保證圣斗士能救出雅典娜,初始血量至少是多少?地圖為一個(gè)二維數(shù)組map,如下矩陣。根據(jù)map,返回初始血量。

輸入
一個(gè)n*m的二維數(shù)組

第一行:數(shù)組的行數(shù)n(n>0)

第二行:數(shù)組的列數(shù)m(m>0)

第三行:數(shù)組,每個(gè)位置的血量,行優(yōu)先

輸出
對(duì)于每個(gè)測(cè)試實(shí)例,要求輸出初始血量

樣例輸入
3
3
-2 -3 3 -5 10 1 0 30 -5
樣例輸出
6

#include <vector> #include <iostream> using namespace std;int main() {int n, m;cin >> n >> m;vector< vector<int> > v(n, vector<int>(m));for(int i=0; i<n; i++)for(int j=0; j<m; j++)cin >> v[i][j];vector< vector<int> > dp(n, vector<int>(m));dp[--n][--m] = v[n][m] > 0 ? 1 : -v[n][m] + 1;for(int j=m-1; j>=0; j--)dp[n][j] = max(dp[n][j+1] - v[n][j], 1);for(int i=n-1; i>=0; i--){dp[i][m] = max(dp[i+1][m] - v[i][m], 1);for(int j=m-1; j>=0; j--){int right = max(dp[i][j+1] - v[i][j], 1);int down = max(dp[i+1][j] - v[i][j], 1);dp[i][j] = min(right, down);}}cout << dp[0][0]; }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29

英雄PK
時(shí)間限制:C/C++語(yǔ)言 1000MS;其他語(yǔ)言 3000MS
內(nèi)存限制:C/C++語(yǔ)言 65536KB;其他語(yǔ)言 589824KB
題目描述:
AB兩隊(duì)進(jìn)行PK,每隊(duì)有n個(gè)英雄,每局一個(gè)英雄出戰(zhàn)進(jìn)行PK,(且每個(gè)英雄只能出戰(zhàn)一次),每個(gè)英雄都有武力值,武力值大的英雄獲勝,武力值相同平局,平局沒(méi)有得失,每贏一局該隊(duì)獲得100個(gè)元寶,輸一局損失100個(gè)元寶。求A隊(duì)最多可以贏多少元寶。

輸入
第一行:一個(gè)正整數(shù)n(0

#include <vector> #include <iostream> #include <algorithm> using namespace std;int result = -1000; void swap(int &a, int &b) {int temp = a;a = b;b = temp; }void dfs(vector<int> &a, const vector<int> &b, int n, int dep, int ans) {if(dep >= n){if(ans > result)result = ans;return;}for(int i=dep; i<n; i++){swap(a[dep], a[i]);int temp = 0;if(a[dep] > b[dep])temp = 100;else if(a[dep] < b[dep])temp = -100;dfs(a, b, n, dep+1, ans + temp);swap(a[dep], a[i]);} }int main() {int n;cin >> n;vector<int> a(n), b(n);for(int i=0; i<n; i++)cin >> a[i];for(int i=0; i<n; i++)cin >> b[i];dfs(a, b, n, 0, 0);cout << result; }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
<link href="https://csdnimg.cn/release/phoenix/mdeditor/markdown_views-258a4616f7.css" rel="stylesheet"></div>

總結(jié)

以上是生活随笔為你收集整理的完美世界2020编程题-救雅典娜 英雄AB PK的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

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