A - Generalized ABC Editorial by MMNMM


この問題は、「文字列 ABCDEFGHIJKLMNOPQRSTUVWXYZ の先頭 \(K\) 文字を出力する」と言い換えることができます。

こちらの解説 のように標準で便利な文字列がある場合はそれを利用してもよいですし、テストケースごとに変わるわけではない \(26\) 文字程度の文字列は手ですべて入力してしまってもよいでしょう。

「文字列の先頭 \(K\) 文字」をとるような関数が標準で用意されている言語は多いため、それを利用してこの問題を解くことができます。

C++ では、string 型の変数に対して .substr(a, b) とすることで「\(a\) 文字目から \(b\) 文字ぶん」の文字列を得ることができます。 C++ での実装例は以下のようになります。

#include <bits/stdc++.h>

using namespace std;

int main() {
    string s = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";

    int K;
    cin >> K;

    cout << s.substr(0, K) << endl;
    
    return 0;
}

python では、文字列やリストなどに対して [a:b] とすることで「\(a\) 番目から \(b\) 番目まで」を得ることができます。 \(a=0\) のときは \(a\) を省略することができます。 python での実装例は以下のようになります。

s = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"

K = int(input())

print(s[:K])

posted:
last update: