다섯 개의 숫자 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