結果
問題 | No.267 トランプソート |
ユーザー |
![]() |
提出日時 | 2015-09-12 17:34:50 |
言語 | C++11(廃止可能性あり) (gcc 13.3.0) |
結果 |
AC
|
実行時間 | 2 ms / 1,000 ms |
コード長 | 1,399 bytes |
コンパイル時間 | 623 ms |
コンパイル使用メモリ | 77,828 KB |
実行使用メモリ | 5,376 KB |
最終ジャッジ日時 | 2024-07-19 06:18:14 |
合計ジャッジ時間 | 1,456 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 20 |
ソースコード
#include <iostream>#include <map>#include <vector>#include <algorithm>#include <cmath>#define FORR(i,b,e) for(int i=(b);i<(int)(e);++i)#define FOR(i,e) FORR(i,0,e)#define sortuniq(v) sort(v.begin(), v.end()), v.erase(unique(v.begin(),v.end()),v.end())#define dump(var) cerr << #var ": " << var << "\n"#define dumpc(con) for(auto& e: con) cerr << e << " "; cerr<<"\n"typedef long long ll;typedef unsigned long long ull;const double EPS = 1e-6;const int d4[] = {0, -1, 0, 1, 0};using namespace std;struct Card {int s;int n;bool operator<(const Card &o) const {if (s != o.s) {return s < o.s;}return n < o.n;}};const vector<char> suit_table {'D', 'C', 'H', 'S',};const vector<char> num_table {'0', 'A', '2', '3', '4', '5', '6', '7', '8', '9', 'T', 'J', 'Q', 'K',};int main() {cin.tie(0);ios::sync_with_stdio(false);int N;cin >> N;vector<Card> card(N);FOR(i, N) {string mn;cin >> mn;card[i].s = find(suit_table.begin(), suit_table.end(), mn[0]) - suit_table.begin();card[i].n = find(num_table.begin(), num_table.end(), mn[1]) - num_table.begin();}sort(card.begin(), card.end());FOR(i, N) {if (i) cout << ' ';cout << suit_table[card[i].s] << num_table[card[i].n];}cout << endl;return 0;}