Submission #22782


Source Code Expand

module main;

import std.stdio; // この解答で使った項目: readln, writefln (デバッグで writef, writeln)
import std.string; // この解答で使った項目: strip
import std.conv; // この解答で使った項目: to

void main()
{
    // 履修した単位の数を読み込む
    int count = readln().strip().to!int();
    string grades = readln().strip();
    double sum = 0;
    foreach (char grade; grades)
    {
        // std.string.indexOf: 文字列の何番目 (0-origin) に文字が初めて出現するかを返す。
        // 今回の F は 0 点, D は 1 点, ... のように、0 から始まる有限個の整数値と文字との間に全単射が定められている時に便利。
        // 文字 grade に対応する成績を取得
        auto score = "FDCBA".indexOf(grade);
        sum += score;
        debug
        {
            writef("%d, ", score);
        }
    }
    debug
    {
        writeln();
    }
    // std.stdio.writefln: "%e" は指数表記の浮動小数点に対応する。
    // デフォルトだと数ケタしか出力されないが、"%" と "e" との間に小数点とケタ数を入れると出力されるケタ数を指定できる。
    writefln("%.10e", sum/count);
}

// simple version: http://arc003.contest.atcoder.jp/submissions/22781

Submission Info

Submission Time
Task A - GPA計算
User majiang
Language D (DMD 2.060)
Score 100
Code Size 1358 Byte
Status AC
Exec Time 24 ms
Memory 800 KB

Judge Result

Set Name all
Score / Max Score 100 / 100
Status
AC × 32
Set Name Test Cases
all 00_sample_01.txt, 00_sample_02.txt, 01_rnd_01.txt, 01_rnd_02.txt, 01_rnd_03.txt, 01_rnd_04.txt, 01_rnd_05.txt, 01_rnd_06.txt, 01_rnd_07.txt, 01_rnd_08.txt, 01_rnd_09.txt, 01_rnd_10.txt, 02_rndmax_01.txt, 02_rndmax_02.txt, 02_rndmax_03.txt, 02_rndmax_04.txt, 02_rndmax_05.txt, 02_rndmax_06.txt, 02_rndmax_07.txt, 02_rndmax_08.txt, 02_rndmax_09.txt, 02_rndmax_10.txt, 03_mini_01.txt, 03_mini_02.txt, 03_mini_03.txt, 03_mini_04.txt, 03_mini_05.txt, 04_samemax_01.txt, 04_samemax_02.txt, 04_samemax_03.txt, 04_samemax_04.txt, 04_samemax_05.txt
Case Name Status Exec Time Memory
00_sample_01.txt AC 20 ms 792 KB
00_sample_02.txt AC 21 ms 788 KB
01_rnd_01.txt AC 21 ms 788 KB
01_rnd_02.txt AC 21 ms 792 KB
01_rnd_03.txt AC 20 ms 792 KB
01_rnd_04.txt AC 22 ms 796 KB
01_rnd_05.txt AC 24 ms 792 KB
01_rnd_06.txt AC 22 ms 760 KB
01_rnd_07.txt AC 21 ms 788 KB
01_rnd_08.txt AC 22 ms 788 KB
01_rnd_09.txt AC 21 ms 796 KB
01_rnd_10.txt AC 21 ms 784 KB
02_rndmax_01.txt AC 21 ms 788 KB
02_rndmax_02.txt AC 21 ms 784 KB
02_rndmax_03.txt AC 21 ms 764 KB
02_rndmax_04.txt AC 21 ms 788 KB
02_rndmax_05.txt AC 22 ms 784 KB
02_rndmax_06.txt AC 19 ms 792 KB
02_rndmax_07.txt AC 21 ms 788 KB
02_rndmax_08.txt AC 21 ms 784 KB
02_rndmax_09.txt AC 21 ms 784 KB
02_rndmax_10.txt AC 22 ms 764 KB
03_mini_01.txt AC 20 ms 788 KB
03_mini_02.txt AC 21 ms 796 KB
03_mini_03.txt AC 21 ms 764 KB
03_mini_04.txt AC 21 ms 800 KB
03_mini_05.txt AC 20 ms 788 KB
04_samemax_01.txt AC 21 ms 784 KB
04_samemax_02.txt AC 20 ms 784 KB
04_samemax_03.txt AC 21 ms 796 KB
04_samemax_04.txt AC 22 ms 784 KB
04_samemax_05.txt AC 20 ms 776 KB