首頁 >後端開發 >C++ >C++程式用於在延遲時間後找到打字遊戲的獲勝者

C++程式用於在延遲時間後找到打字遊戲的獲勝者

WBOY
WBOY轉載
2023-08-27 16:29:06804瀏覽

C++程式用於在延遲時間後找到打字遊戲的獲勝者

假設我們有五個數字s、v1、v2、t1和t2。 Amal和Bimal正在玩一個打字遊戲,他們在線上玩遊戲。在這個遊戲中,他們將輸入一個長度為s的字串。 Amal在v1毫秒內輸入一個字符,Bimal在v2毫秒內輸入一個字符。 Amal的網路延遲是t1毫秒,Bimal的網路延遲是t2毫秒。

如果連線延遲是t毫秒,比賽的過程如下:

  • 在遊戲開始後的t毫秒後,參與者收到要輸入的文字。

  • 然後他開始輸入。

  • 在他輸入所有文字後的t毫秒後,網站接收到相關資訊。

誰先完成,誰就是贏家。如果兩位參與者的時間相同,則是平手。我們需要找出贏家。

因此,如果輸入是s = 5;v1 = 1;v2 = 2;t1 = 1;t2 = 2,那麼輸出將是Amal,因為Amal的成功訊息在7毫秒內到達,Bimal的成功訊息在14毫秒內到達。所以,Amal獲勝。

步驟

為了解決這個問題,我們將按照以下步驟進行:

p := (s * v1) + (2 * t1)
q := (s * v2) + (2 * t2)
if p is same as q, then:
   return "Draw"
otherwise when p < q, then:
   return "Amal"
Otherwise
   return "Bimal"

範例

讓我們看下面的實作以便更好地理解−

#include <bits/stdc++.h>
using namespace std;

string solve(int s, int v1, int v2, int t1, int t2) {
   int p = (s * v1) + (2 * t1);
   int q = (s * v2) + (2 * t2);
   if (p == q)
      return "Draw";
   else if (p < q)
      return "Amal";
else
   return "Bimal";
}
int main() {
   int s = 5;
   int v1 = 1;
   int v2 = 2;
   int t1 = 1;
   int t2 = 2;
   cout << solve(s, v1, v2, t1, t2) << endl;
}

輸入

5, 1, 2, 1, 2

輸出

Amal

以上是C++程式用於在延遲時間後找到打字遊戲的獲勝者的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:tutorialspoint.com。如有侵權,請聯絡admin@php.cn刪除