結果
| 問題 |
No.267 トランプソート
|
| コンテスト | |
| ユーザー |
diginatu
|
| 提出日時 | 2015-08-21 22:44:50 |
| 言語 | D (dmd 2.109.1) |
| 結果 |
AC
|
| 実行時間 | 2 ms / 1,000 ms |
| コード長 | 492 bytes |
| コンパイル時間 | 1,011 ms |
| コンパイル使用メモリ | 106,636 KB |
| 実行使用メモリ | 6,944 KB |
| 最終ジャッジ日時 | 2024-06-12 02:42:52 |
| 合計ジャッジ時間 | 1,725 ms |
|
ジャッジサーバーID (参考情報) |
judge5 / judge4 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | AC * 20 |
ソースコード
import std.stdio, std.conv, std.math, std.string, std.range, std.array,
std.algorithm;
void main() {
readln();
auto buf = readln().strip().split().map!(to!string)().array();
int[char] sp = ['D' : 0, 'C' : 1, 'H' : 2, 'S' : 3];
int[char] nm = ['A' : 1, 'T' : 10, 'J' : 11, 'Q' : 12, 'K' : 13];
foreach(i; 2..10) {
nm[i.to!string[0]] = i;
}
buf.sort!((a, b) => (sp[a[0]] != sp[b[0]]) ? (sp[a[0]] < sp[b[0]]) : (nm[a[1]] < nm[b[1]]) )();
buf.join(" ").writeln();
}
diginatu