結果
| 問題 |
No.267 トランプソート
|
| コンテスト | |
| ユーザー |
alpha_virginis
|
| 提出日時 | 2015-08-21 22:30:33 |
| 言語 | C++11(廃止可能性あり) (gcc 13.3.0) |
| 結果 |
AC
|
| 実行時間 | 2 ms / 1,000 ms |
| コード長 | 1,379 bytes |
| コンパイル時間 | 1,378 ms |
| コンパイル使用メモリ | 165,896 KB |
| 実行使用メモリ | 6,944 KB |
| 最終ジャッジ日時 | 2024-07-18 11:37:32 |
| 合計ジャッジ時間 | 2,070 ms |
|
ジャッジサーバーID (参考情報) |
judge1 / judge4 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | AC * 20 |
ソースコード
#include <bits/stdc++.h>
#include <cstdint>
#include <sys/time.h>
typedef std::int_fast32_t s32;
typedef std::uint_fast32_t u32;
typedef std::int_fast64_t s64;
typedef std::uint_fast64_t u64;
const unsigned long mod = 1000000007;
typedef std::pair<int, int> Card;
Card stoc(std::string str) {
Card card;
switch( str[0] ) {
case 'D' :
card.first = 0;
break;
case 'C' :
card.first = 1;
break;
case 'H' :
card.first = 2;
break;
case 'S' :
card.first = 3;
break;
}
switch( str[1] ) {
case 'A' :
card.second = 1;
break;
case '2' ... '9' :
card.second = str[1] - '0';
break;
case 'T' :
card.second = 10;
break;
case 'J' :
card.second = 11;
break;
case 'Q' :
card.second = 12;
break;
case 'K' :
card.second = 13;
break;
}
return card;
}
int main() {
int N;
std::cin >> N;
std::vector<Card> vc;
std::string str;
for(int i = 0; i < N; ++i) {
std::cin >> str;
vc.push_back(stoc(str));
}
std::sort(vc.begin(), vc.end());
char type[4] = {'D', 'C', 'H', 'S'};
char num[] = {'0', 'A', '2', '3', '4', '5', '6', '7', '8', '9', 'T', 'J', 'Q', 'K'};
for(int i = 0; i < N-1; ++i) {
std::cout << type[vc[i].first] << num[vc[i].second] << " ";
}
std::cout << type[vc[N-1].first] << num[vc[N-1].second] << std::endl;
return 0;
}
alpha_virginis