Submission #54465309


Source Code Expand

Copy
4
>+++++
>,----------[
<->>,----------[
<<->>>,----------[
<<<->>>>,----------[
<<<<->>>>>,[-]
]
]
]
]
0
<[<]
>-[
>>>[>+<-]
<[>+<-]
<[>+<-]
++++++++++++++++++++++++++++++++++++++
<-
]
 
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
改行に当たるまで、桁数を数えながら最大4桁読み込む
>+++++
>,----------[
  <->>,----------[
    <<->>>,----------[
      <<<->>>>,----------[
        <<<<->>>>>,[-]
      ]
    ]
  ]
]
余った桁の分右にシフトし、左端に0に相当するデータを入れる
<[<]
>-[
  >>>[>+<-]
  <[>+<-]
  <[>+<-]
  ++++++++++++++++++++++++++++++++++++++
  <-
]
移動しながら数字を数値に変換する
>--------------------------------------
>--------------------------------------
>--------------------------------------
>--------------------------------------
>

空白に当たるまで、桁数を数えながら最大4桁読み込む
>+++++
>,--------------------------------[
  <->>,--------------------------------[
    <<->>>,--------------------------------[
      <<<->>>>,--------------------------------[
        <<<<->>>>>,[-]
      ]
    ]
  ]
]
余った桁の分右にシフトし、左端に0に相当するデータを入れる
<[<]
>-[
  >>>[>+<-]
  <[>+<-]
  <[>+<-]
  ++++++++++++++++
  <-
]
移動しながら数字を数値に変換する
>----------------
>----------------
>----------------
>----------------
>

改行に当たるまで、桁数を数えながら最大4桁読み込む
>+++++
>,----------[
  <->>,----------[
    <<->>>,----------[
      <<<->>>>,----------[
        <<<<->>>>>,[-]
      ]
    ]
  ]
]
余った桁の分右にシフトし、左端に0に相当するデータを入れる
<[<]
>-[
  >>>[>+<-]
  <[>+<-]
  <[>+<-]
  ++++++++++++++++++++++++++++++++++++++
  <-
]
移動しながら数字を数値に変換する
>--------------------------------------
>--------------------------------------
>--------------------------------------
>--------------------------------------

3番目の値を2番目の値に加算する
[-<<<<<<+>>>>>>]
<[-<<<<<<+>>>>>>]
<[-<<<<<<+>>>>>>]
<[-<<<<<<+>>>>>>]

3番目の値と2番目の値の和を1番目の値に加算する
<<<
[-<<<<<<+>>>>>>]
<[-<<<<<<+>>>>>>]
<[-<<<<<<+>>>>>>]
<[-<<<<<<+>>>>>>]

一の位から十の位の繰り上がり処理を行う
<<+<[
  >>>>+++++++++[
    <<<<[->+>]
    >[>]<[>]
    >>-
  ]
  <<<<[<+>->--------->]
  >[>]<[>]<<
]
>[-<+>]

十の位から百の位の繰り上がり処理を行う
+<<[
  >>>>>+++++++++[
    <<<<<[->>+>]
    >[>]<[>]
    >>-
  ]
  <<<<<[<+>->>--------->]
  >[>]<[>]<<<
]
>>[-<<+>>]

百の位から千の位の繰り上がり処理を行う
+<<<[
  >>>>>>+++++++++[
    <<<<<<[->>>+>]
    >[>]<[>]
    >>-
  ]
  <<<<<<[<+>->>>--------->]
  >[>]<[>]<<<<
]
>>>[-<<<+>>>]

出力する範囲を決定する
ついでに、百の位、十の位、一の位に1が足されているのを打ち消す
>+>+>+>+>>>>>+<<<<<<<<<<<<<
[>>>>>>>>>>+>+>+<<<<<<<<]>>>>[<]
<<<-[>>>>>>>>>>+>+<<<<<<<<]>>>[<]
<<-[>>>>>>>>>>+<<<<<<<<]>>[<]
<-

決定した範囲に従って出力する
>>>>>>>>>>[<]>
[<<<<<<<<<<++++++++++++++++++++++++++++++++++++++++++++++++.>>>>>>>>>>>]

=====足し算パート終了!あとは文字列パート=====

空白を出力する
++++++++++++++++++++++++++++++++.

読み込んだ文字を出力する
改行を読み込んだら終了する
[,.----------]

Submission Info

Submission Time
Task PracticeA - Welcome to AtCoder
User mikecat
Language Brainfuck (bf 20041219)
Score 100
Code Size 3302 Byte
Status AC
Exec Time 7 ms
Memory 2472 KB

Judge Result

Set Name All
Score / Max Score 100 / 100
Status
AC × 7
Set Name Test Cases
All 00_rnd_01.txt, 00_rnd_02.txt, 00_rnd_03.txt, 00_rnd_04.txt, 00_rnd_05.txt, 00_sample_1.txt, 00_sample_2.txt
Case Name Status Exec Time Memory
00_rnd_01.txt AC 7 ms 2472 KB
00_rnd_02.txt AC 1 ms 2304 KB
00_rnd_03.txt AC 1 ms 2236 KB
00_rnd_04.txt AC 1 ms 2348 KB
00_rnd_05.txt AC 1 ms 2236 KB
00_sample_1.txt AC 1 ms 2340 KB
00_sample_2.txt AC 1 ms 2280 KB


2024-06-12 (Wed)
07:46:44 +09:00