Maison > Article > développement back-end > Programme C++ pour trouver le gagnant du jeu de frappe après un délai
Supposons que nous ayons cinq nombres s, v1, v2, t1 et t2. Amal et Bimal jouent à un jeu de dactylographie auquel ils jouent en ligne. Dans ce jeu, ils entreront une chaîne de longueur s. Amal saisit un caractère en v1 millisecondes et Bimal saisit un caractère en v2 millisecondes. Le délai réseau d'Amal est de t1 millisecondes et celui de Bimal est de t2 millisecondes.
Si le délai de connexion est de t millisecondes, le jeu se déroule comme suit :
Après t millisecondes après le début du jeu, le participant reçoit le texte à saisir.
Puis il a commencé à taper.
Quelques millisecondes après avoir fini de saisir tout le texte, le site Web a reçu les informations pertinentes.
Celui qui termine en premier est le gagnant. Si les deux participants ont le même temps, c'est égalité. Nous devons trouver le gagnant.
Donc, si l'entrée est s = 5 ; v1 = 1 ; v2 = 2 ; t1 = 1 ; t2 = 2, alors la sortie sera Amal car le message de réussite d'Amal arrive dans 7 millisecondes et celui de Bimal arrive dans 14 millisecondes. millisecondes. Donc Amal gagne.
Pour résoudre ce problème, nous suivrons les étapes suivantes :
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"
Voyons l'implémentation ci-dessous pour une meilleure compréhension −
#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
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!