package main import ( "bufio" "fmt" "os" "strconv" "strings" ) var sc = bufio.NewScanner(os.Stdin) func NextLine() string { sc.Scan() return sc.Text() } func NextInt() int { a, _ := strconv.Atoi(NextLine()) return a } /** * スペース区切りで文字列を受け取って整数を2個返す */ func GetTwoInts() (a int, b int) { str := strings.Split(NextLine(), " ") a, _ = strconv.Atoi(str[0]) b, _ = strconv.Atoi(str[1]) return } func main() { N, D := GetTwoInts() sToAABBCC(N, D) } /** * 文字列 */ func sToAABBCC(N int, D int) { appender := "A" //最後の桁が2か1か0になれば良い //効率化の手段として残り桁数が3のとき残り数値が3ならAで埋めれば良い、残り数値が6ならBで埋めれば良い for i:=0; i< N; i++ { if D == 2 * (N - i){ appender = "B" }else if D == 0 { appender = "C" } D-- fmt.Print(appender) } }