hene

hene.dev

AtCoder Beginner Contest 159

AtCoder Beginner Contest 159

AtCoder Beginner Contest 159 - AtCoder に参加しました。

C++14 (GCC 5.4.1) で解きました。下記は、自分の解答です。

A - The Number of Even Pairs

#include <bits/stdc++.h>
using namespace std;

int main()
{
  int N, M;

  cin >> N >> M;

  int ans = 0;

  ans = N >= 2 ? N * (N - 1) / 2 : 0;

  ans += M >= 2 ? M * (M - 1) / 2 : 0;

  cout << ans << endl;
}

B - String Palindrome

解けたけど、もっと効率良く解ける方法ありそう。

#include <bits/stdc++.h>
using namespace std;

int main()
{
  string S;

  cin >> S;

  int N = S.size();

  string ans = "Yes";

  for (int i = 0; i < N / 2; i++)
  {
    if (S.at(i) != S.at(N - 1 - i))
      ans = "No";
  }

  for (int i = 0; i < (N - 1) / 2; i++)
  {
    if (S.at(i) != S.at((N - 1) / 2 - 1 - i))
      ans = "No";
  }

  for (int i = (N + 3) / 2 - 1; i < N; i++)
  {
    if (S.at(i) != S.at(N - i + N / 2))
      ans = "No";
  }

  cout << ans << endl;
}

C - Maximum Volume

c++ 浮動小数点数 表示方法 - Qiita を参考に解きました。

#include <bits/stdc++.h>
using namespace std;

int main()
{
  double L;

  cin >> L;

  cout << fixed << setprecision(15) << (L / 3) * (L / 3) * (L / 3) << endl;
}

感想

なんとか、C まで解けた。 D も解けるようになっていきたい。

参考

関連記事