結果
| 問題 |
No.267 トランプソート
|
| コンテスト | |
| ユーザー |
omu
|
| 提出日時 | 2015-08-21 22:33:30 |
| 言語 | C++11(廃止可能性あり) (gcc 13.3.0) |
| 結果 |
AC
|
| 実行時間 | 2 ms / 1,000 ms |
| コード長 | 2,230 bytes |
| コンパイル時間 | 790 ms |
| コンパイル使用メモリ | 97,844 KB |
| 実行使用メモリ | 6,944 KB |
| 最終ジャッジ日時 | 2024-07-18 11:40:32 |
| 合計ジャッジ時間 | 1,342 ms |
|
ジャッジサーバーID (参考情報) |
judge1 / judge3 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | AC * 20 |
ソースコード
#include <cstdio>
#include <iostream>
#include <vector>
#include <map>
#include <set>
#include <string>
#include <cstring>
#include <sstream>
#include <algorithm>
#include <functional>
#include <queue>
#include <stack>
#include <cmath>
#include <iomanip>
#include <list>
#include <tuple>
#include <bitset>
#include <ciso646>
using namespace std;
typedef long long ll;
typedef unsigned long long ull;
typedef long double ld;
typedef pair<int, int> P;
typedef tuple<int, int, int> T;
inline bool cheak(ll x, ll y, ll xMax, ll yMax){ return x >= 0 && y >= 0 && xMax > x && yMax > y; }
inline ll toInt(string s) { ll v; istringstream sin(s); sin >> v; return v; }
template<class T> inline string toString(T x) { ostringstream sout; sout << x; return sout.str(); }
template<class T> inline T sqr(T x) { return x*x; }
#define For(i,a,b) for(ll (i) = (a);i < (b);(i)++)
#define rep(i,n) For(i,0,n)
#define clr(a) memset((a), 0 ,sizeof(a))
#define mclr(a) memset((a), -1 ,sizeof(a))
#define all(a) (a).begin(),(a).end()
#define sz(a) (sizeof(a))
const int dx[8] = { 1, 0, -1, 0, 1, 1, -1, -1 }, dy[8] = { 0, -1, 0, 1, -1, 1, -1, 1 };
const ll mod = 1000000007;
const ll INF = 1e9 + 2;
int main()
{
int n;
cin >> n;
vector<char> H,D,S,C;
rep(i, n){
char c;
char t;
cin >> c >> t;
if (t == 'A')t = 1;else
if (t == 'T')t = 10;else
if (t == 'J')t = 11;else
if (t == 'Q')t = 12;else
if (t == 'K')t = 13; else
{
t = t - '0';
}
if (c == 'D'){
D.push_back(t);
}
if (c == 'C'){
C.push_back(t);
}
if (c == 'H'){
H.push_back(t);
}
if (c == 'S'){
S.push_back(t);
}
}
sort(all(D));
sort(all(C));
sort(all(H));
sort(all(S));
vector<char> o0;
vector<int> o1;
rep(i, D.size()){
o0.push_back('D');
o1.push_back(D[i]);
}
rep(i, C.size()){
o0.push_back('C');
o1.push_back(C[i]);
}
rep(i, H.size()){
o0.push_back('H');
o1.push_back(H[i]);
}
rep(i, S.size()){
o0.push_back('S');
o1.push_back(S[i]);
}
rep(i, o0.size()){
char t = o1[i];
if (t == 1) t = 'A';else
if (t == 10)t = 'T';else
if (t == 11)t = 'J';else
if (t == 12)t = 'Q';else
if (t == 13)t = 'K'; else
{
t = t + '0';
}
cout << o0[i] << t << " ";
}
cout << endl;
return 0;
}
omu