見出し画像

AtCoder Beginner Contest 172を見直す(その1)A問題、B問題

全体の感想

A問題、B問題は安定して解けるようになってきた。C問題で頻出の全検索でつまづくことがあるので復習しておきたいところ。

A - Calc

整数aが入力されるので、「a+a^2+a^3」を返す問題

以下のように解答し、実行時間29ms

a = int(input())
print(a+a**2+a**3)

C++だと以下のような感じで、実行時間は8ms

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

int main() {
   int a;
   cin >> a;
   cout << a + a*a + a*a*a << endl;
}

B - Minor Change

同じ長さの文字列SとTが入力されるので、違う文字の数を返す問題

例:
入力:S:ABCDEFG, T:BBCDFEE
出力:4

以下のように解答し、実行時間64ms

S = input()
T = input()
ans = 0
for i in range(len(S)):
   if S[i] != T[i]: ans += 1
print(ans)

C++だと以下のような感じで、実行時間は21ms

#include <bits/stdc++.h>
#define rep(i, n) for (int i = 0; i < (int)(n); i++)
using namespace std;

int main() {
   string S, T;
   cin >> S >> T;
   int ans = 0;
   rep(i, S.size()){
       if(S.at(i) != T.at(i)) ans++;
   }
   cout << ans << endl;
}


この記事が気に入ったらサポートをしてみませんか?