結果

問題 No.539 インクリメント
ユーザー jj
提出日時 2017-07-01 00:09:03
言語 Fortran
(gFortran 14.2.0)
結果
AC  
実行時間 35 ms / 2,000 ms
コード長 798 bytes
コンパイル時間 264 ms
コンパイル使用メモリ 32,644 KB
実行使用メモリ 6,816 KB
最終ジャッジ日時 2024-10-04 22:04:47
合計ジャッジ時間 982 ms
ジャッジサーバーID
(参考情報)
judge2 / judge3
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 1
other AC * 3
権限があれば一括ダウンロードができます

ソースコード

diff #

program main
  implicit none
  integer*8::N,i,j,first,last
  character*100001::S=""
  character*10::num='0123456789'
  read *,N
  do i=1,N
     read '(a)',S
     last = scan(S,num,.true.)
     if(last.eq.0) then
        print '(a)', TRIM(S)
        cycle
     end if
     first= verify(S(1:last),num,.true.)
     if(S(first+1:last).eq.REPEAT('9',last-first)) then
        do j=LEN_TRIM(S), last, -1
           S(j+1:j+1) = S(j:j)
        end do
        S(first+1:first+1) = '1'
        S(first+2:last+1)  = REPEAT('0',last-first)
     else
        first = verify(S(1:last),'9',.true.)
        S(first:first)=ACHAR(ICHAR(S(first:first))+1)
        if(first.ne.last) then
           S(first+1:last)=REPEAT('0',last-first)
        end if
     end if
     print '(a)', TRIM(S)
  end do
end program main
0