C++程式,用於在延遲計時後查詢打字遊戲的獲勝者
假設我們有五個數字 s、v1、v2、t1 和 t2。阿馬爾和比馬爾正在玩一個打字遊戲,他們在網上玩這個遊戲。在這個遊戲中,他們將輸入一個長度為 s 的字串。阿馬爾每打一個字元需要 v1 毫秒,比馬爾每打一個字元需要 v2 毫秒。阿馬爾的網路延遲為 t1 毫秒,比馬爾的網路延遲為 t2 毫秒。
如果連線延遲為 t 毫秒,則參與者的比賽流程如下:
遊戲開始後正好 t 毫秒,參與者收到要輸入的文字。
緊隨其後,他開始輸入。
他完成所有文字輸入後正好 t 毫秒,網站收到相關資訊。
誰先完成,誰就是贏家。如果兩個參與者的時間相同,則為平局。我們必須找到獲勝者。
因此,如果輸入類似於 s = 5;v1 = 1;v2 = 2;t1 = 1;t2 = 2,則輸出將為阿馬爾,因為阿馬爾成功的資訊在 7 毫秒內到達,而比馬爾在 14 毫秒內到達。因此,阿馬爾獲勝。
步驟
為了解決這個問題,我們將遵循以下步驟:
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
廣告
資料結構
網路
關係型資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP