結果
問題 | No.267 トランプソート |
ユーザー |
![]() |
提出日時 | 2015-09-08 20:18:10 |
言語 | C++11(廃止可能性あり) (gcc 13.3.0) |
結果 |
AC
|
実行時間 | 2 ms / 1,000 ms |
コード長 | 1,087 bytes |
コンパイル時間 | 1,434 ms |
コンパイル使用メモリ | 168,028 KB |
実行使用メモリ | 5,376 KB |
最終ジャッジ日時 | 2024-07-19 05:00:24 |
合計ジャッジ時間 | 2,186 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 20 |
ソースコード
#include <bits/stdc++.h>using namespace std;template<typename T> string to_string(const T& v) {string str;for (const auto& i : const_cast<T&>(v)) str += to_string(i) + " ";return str.substr(0, max(0, (int)str.size() - 1));}struct Card {string s;int suit, number;Card() {}Card(const string& s) : s(s) {switch (s[0]) {case 'D': suit = 0; break;case 'C': suit = 1; break;case 'H': suit = 2; break;case 'S': suit = 3; break;}switch (s[1]) {case 'A': number = 1; break;case 'T': number = 10; break;case 'J': number = 11; break;case 'Q': number = 12; break;case 'K': number = 13; break;default : number = s[1] - '0'; break;}}bool operator<(const Card& card) const {return suit != card.suit ? suit < card.suit : number < card.number;}};string to_string(const Card& card) {return card.s;}int main() {int n;cin >> n;vector<Card> c(n);for (auto& i : c) {string s;cin >> s;i = s;}sort(c.begin(), c.end());cout << to_string(c) << endl;}