작성일 :

문제 링크

27213번 - Граничные клетки

설명

간단한 수학 문제입니다.

문제의 목표는 격자 무늬 종이에 m * n 크기의 사각형을 그렸을 때, 테두리에 존재하는 사각형의 개수를 구하는 것입니다.

m * n 크기의 사각형에서 테두리에 존재하는 사각형의 개수는 다음과 같은 공식이 적용됩니다.

(2 * m) + (2 * n) - 4

여기서 -4 는 사각형의 네 꼭지점의 개수를 세는 과정에서, 가로세로 의 중복되는 부분에 대한 것입니다.

다만, m1 일 경우,   또는 n1 일 경우에는

중복되는 부분의 개수가 1 개 뿐이므로 해당 부분에 대한 예외 처리를 해야 합니다.

위 식에 맞게 계산한 결과값을 출력합니다.


Code

[ C# ]

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
namespace Solution {
  class Program {
    static void Main(string[] args) {

      var m = int.Parse(Console.ReadLine()!);
      var n = int.Parse(Console.ReadLine()!);

      var ans = (2 * m) + (2 * n) - 4;

      if (m == 1 || n == 1) ans = (m + n) - 1;

      Console.WriteLine(ans);

    }
  }
}



[ C++ ]

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

using namespace std;

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

  int m, n; cin >> m >> n;

  int ans = (2 * m) + (2 * n) - 4;

  if (m == 1 || n == 1) ans = (m + n) - 1;

  cout << ans << "\n";

  return 0;
}