AtCoder Beginner Contest 002

Submission #4992398

Source codeソースコード

module ABC002

  ! <module>s to import
  use, intrinsic :: iso_fortran_env

  ! require all variables to be explicitly declared
  implicit none

  ! accessibility of <subroutine>s and <function>s in this <module>
  public  :: task_C
  private :: sub_type_point
  private :: calc_area

  ! <type> for this <module>
  type type_point
    real(kind=REAL64) :: CDX
    real(kind=REAL64) :: CDY
  end type type_point

  ! <interface>s for this <module>
  interface operator (-)
    module procedure sub_type_point
  end interface operator (-)

  ! variables for this <module>
  type (type_point), private :: point_A, point_B, point_C

  ! contained <subroutine>s and <function>s are below
  contains

  subroutine task_C

    ! STEP.01
    ! read out the data
    read (unit=INPUT_UNIT, fmt=*) &!
      point_A%CDX, point_A%CDY, &!
      point_B%CDX, point_B%CDY, &!
      point_C%CDX, point_C%CDY

    ! STEP.02
    ! calculate & output the area of the triangle
    write (unit=OUTPUT_UNIT, fmt='(ES23.15e3)', advance='yes') calc_area (point_A, point_B, point_C)

    ! STEP.END
    return

  end subroutine task_C

  pure function sub_type_point(A, B) result(retval)

    ! arguments for this <function>
    type (type_point), intent(in) :: A, B

    ! return value of this <function>
    type (type_point) :: retval

    retval%CDX = A%CDX - B%CDX
    retval%CDY = A%CDY - B%CDY
    return

  end function sub_type_point

  pure function calc_area (A, B, C) result (val_area)

    ! arguments for this <function>
    type (type_point), intent(in) :: A, B, C

    ! variables for this <function>
    type (type_point) :: vector_AB, vector_AC

    ! return value of this <function>
    real(kind=REAL64) :: val_area

    vector_AB = point_B - point_A
    vector_AC = point_C - point_A
    val_area  = abs ( vector_AB%CDX * vector_AC%CDY - vector_AB%CDY * vector_AC%CDX ) * 5.0e-01_REAL64
    return

  end function calc_area

end module ABC002

program main

  ! <module>s to import
  use, non_intrinsic :: ABC002

  ! require all variables to be explicitly declared
  implicit none

  call task_C  

end program main

Submission

Task問題 C - 直訴
User nameユーザ名 DSCF_1224
Created time投稿日時
Language言語 Fortran (gfortran v4.8.4)
Status状態 AC
Score得点 100
Source lengthソースコード長 2205 Byte
File nameファイル名
Exec time実行時間 1 ms
Memory usageメモリ使用量 256 KB

Test case

Set

Set name Score得点 / Max score Cases
all 100 / 100 00_sample_01.txt,00_sample_02.txt,00_sample_03.txt,test_01.txt,test_02.txt,test_03.txt,test_04.txt,test_05.txt,test_06.txt,test_07.txt,test_08.txt,test_09.txt,test_10.txt,test_11.txt,test_12.txt,test_13.txt,test_14.txt,test_15.txt,test_16.txt,test_17.txt,test_18.txt,test_19.txt,test_20.txt,test_21.txt,test_22.txt,test_23.txt,test_24.txt,test_25.txt,test_26.txt,test_27.txt,test_28.txt,test_29.txt,test_30.txt,test_31.txt,test_32.txt,test_33.txt,test_34.txt,test_35.txt,test_36.txt,test_37.txt,test_38.txt,test_39.txt,test_40.txt,test_41.txt,test_42.txt,test_43.txt,test_44.txt,test_45.txt,test_46.txt,test_47.txt,test_48.txt,test_49.txt,test_50.txt,test_51.txt,test_52.txt,test_53.txt,test_54.txt,test_55.txt,test_56.txt,test_57.txt,test_58.txt,test_59.txt,test_60.txt,test_61.txt,test_62.txt,test_63.txt,test_64.txt,test_65.txt,test_66.txt,test_67.txt,test_68.txt,test_69.txt

Test case

Case name Status状態 Exec time実行時間 Memory usageメモリ使用量
00_sample_01.txt AC 1 ms 256 KB
00_sample_02.txt AC 1 ms 256 KB
00_sample_03.txt AC 1 ms 256 KB
test_01.txt AC 1 ms 256 KB
test_02.txt AC 1 ms 256 KB
test_03.txt AC 1 ms 256 KB
test_04.txt AC 1 ms 256 KB
test_05.txt AC 1 ms 256 KB
test_06.txt AC 1 ms 256 KB
test_07.txt AC 1 ms 256 KB
test_08.txt AC 1 ms 256 KB
test_09.txt AC 1 ms 256 KB
test_10.txt AC 1 ms 256 KB
test_11.txt AC 1 ms 256 KB
test_12.txt AC 1 ms 256 KB
test_13.txt AC 1 ms 256 KB
test_14.txt AC 1 ms 256 KB
test_15.txt AC 1 ms 256 KB
test_16.txt AC 1 ms 256 KB
test_17.txt AC 1 ms 256 KB
test_18.txt AC 1 ms 256 KB
test_19.txt AC 1 ms 256 KB
test_20.txt AC 1 ms 256 KB
test_21.txt AC 1 ms 256 KB
test_22.txt AC 1 ms 256 KB
test_23.txt AC 1 ms 256 KB
test_24.txt AC 1 ms 256 KB
test_25.txt AC 1 ms 256 KB
test_26.txt AC 1 ms 256 KB
test_27.txt AC 1 ms 256 KB
test_28.txt AC 1 ms 256 KB
test_29.txt AC 1 ms 256 KB
test_30.txt AC 1 ms 256 KB
test_31.txt AC 1 ms 256 KB
test_32.txt AC 1 ms 256 KB
test_33.txt AC 1 ms 256 KB
test_34.txt AC 1 ms 256 KB
test_35.txt AC 1 ms 256 KB
test_36.txt AC 1 ms 256 KB
test_37.txt AC 1 ms 256 KB
test_38.txt AC 1 ms 256 KB
test_39.txt AC 1 ms 256 KB
test_40.txt AC 1 ms 256 KB
test_41.txt AC 1 ms 256 KB
test_42.txt AC 1 ms 256 KB
test_43.txt AC 1 ms 256 KB
test_44.txt AC 1 ms 256 KB
test_45.txt AC 1 ms 256 KB
test_46.txt AC 1 ms 256 KB
test_47.txt AC 1 ms 256 KB
test_48.txt AC 1 ms 256 KB
test_49.txt AC 1 ms 256 KB
test_50.txt AC 1 ms 256 KB
test_51.txt AC 1 ms 256 KB
test_52.txt AC 1 ms 256 KB
test_53.txt AC 1 ms 256 KB
test_54.txt AC 1 ms 256 KB
test_55.txt AC 1 ms 256 KB
test_56.txt AC 1 ms 256 KB
test_57.txt AC 1 ms 256 KB
test_58.txt AC 1 ms 256 KB
test_59.txt AC 1 ms 256 KB
test_60.txt AC 1 ms 256 KB
test_61.txt AC 1 ms 256 KB
test_62.txt AC 1 ms 256 KB
test_63.txt AC 1 ms 256 KB
test_64.txt AC 1 ms 256 KB
test_65.txt AC 1 ms 256 KB
test_66.txt AC 1 ms 256 KB
test_67.txt AC 1 ms 256 KB
test_68.txt AC 1 ms 256 KB
test_69.txt AC 1 ms 256 KB