작성일 :

문제 링크

10262번 - 주사위 게임

설명

각자 두 개의 주사위를 굴릴 때 승률이 더 높은 사람을 출력하는 문제입니다.


접근법

각 주사위의 평균은 (a+b)/2이므로 두 주사위 합의 평균은 (a1+b1+a2+b2)/2입니다.
평균 합을 비교해 더 큰 쪽이 승률이 높고, 같으면 Tie입니다.


Code

C#

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
using System;

class Program {
  static void Main() {
    var g = Console.ReadLine()!.Split();
    var a1 = int.Parse(g[0]);
    var b1 = int.Parse(g[1]);
    var a2 = int.Parse(g[2]);
    var b2 = int.Parse(g[3]);

    var e = Console.ReadLine()!.Split();
    var c1 = int.Parse(e[0]);
    var d1 = int.Parse(e[1]);
    var c2 = int.Parse(e[2]);
    var d2 = int.Parse(e[3]);

    var gSum = a1 + b1 + a2 + b2;
    var eSum = c1 + d1 + c2 + d2;

    if (gSum > eSum) Console.WriteLine("Gunnar");
    else if (gSum < eSum) Console.WriteLine("Emma");
    else Console.WriteLine("Tie");
  }
}

C++

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <bits/stdc++.h>
using namespace std;

int main() {
  ios::sync_with_stdio(false);
  cin.tie(nullptr);

  int a1, b1, a2, b2; cin >> a1 >> b1 >> a2 >> b2;
  int c1, d1, c2, d2; cin >> c1 >> d1 >> c2 >> d2;

  int gSum = a1 + b1 + a2 + b2;
  int eSum = c1 + d1 + c2 + d2;

  if (gSum > eSum) cout << "Gunnar\n";
  else if (gSum < eSum) cout << "Emma\n";
  else cout << "Tie\n";

  return 0;
}