結果
問題 | No.267 トランプソート |
ユーザー |
|
提出日時 | 2018-02-17 16:08:09 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 2 ms / 1,000 ms |
コード長 | 1,491 bytes |
コンパイル時間 | 1,825 ms |
コンパイル使用メモリ | 182,744 KB |
実行使用メモリ | 6,944 KB |
最終ジャッジ日時 | 2024-06-24 12:12:00 |
合計ジャッジ時間 | 2,798 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 20 |
ソースコード
#include <bits/stdc++.h>#define FOR(i,a,b) for(int i = (a); i < (b); ++i)#define REP(i,n) FOR(i,0,n)#define RREP(i,n) for(int i = (n) - 1; (i) >= 0; --i)#define SZ(n) (int)(n).size()#define ALL(n) (n).begin(), (n).end()#define MOD LL(1e9 + 7)#define INF 1000000using namespace std;typedef long long LL;typedef vector<int> VI;typedef pair<int, int> PI;vector<char> vcc_d, vcc_c, vcc_h, vcc_s;map<char, bool> mb_d, mb_c, mb_h, mb_s;map<char, int> cnt_d, cnt_c, cnt_h, cnt_s;char num[13] = { 'A','2','3','4','5','6','7','8','9','T','J','Q','K' };int main() {int n;cin >> n;REP(i, n) {char m, n;cin >> m >> n;switch (m) {case 'D':cnt_d[n]++;mb_d[n] = true;break;case 'C':cnt_c[n]++;mb_c[n] = true;break;case 'H':cnt_h[n]++;mb_h[n] = true;break;case 'S':cnt_s[n]++;mb_s[n] = true;break;default:break;}}REP(i, 13) {if (mb_d[num[i]]) {REP(j, cnt_d[num[i]]) {vcc_d.push_back(num[i]);}}if (mb_c[num[i]]) {REP(j, cnt_c[num[i]]) {vcc_c.push_back(num[i]);}}if (mb_h[num[i]]) {REP(j, cnt_h[num[i]]) {vcc_h.push_back(num[i]);}}if (mb_s[num[i]]) {REP(j, cnt_s[num[i]]) {vcc_s.push_back(num[i]);}}}for (char e : vcc_d)cout << 'D' << e << " ";for (char e : vcc_c)cout << 'C' << e << " ";for (char e : vcc_h)cout << 'H' << e << " ";for (char e : vcc_s)cout << 'S' << e << " ";cout << endl;return 0;}