結果
| 問題 |
No.267 トランプソート
|
| コンテスト | |
| ユーザー |
zaichu
|
| 提出日時 | 2016-01-08 00:54:14 |
| 言語 | C++11(廃止可能性あり) (gcc 13.3.0) |
| 結果 |
AC
|
| 実行時間 | 2 ms / 1,000 ms |
| コード長 | 741 bytes |
| コンパイル時間 | 1,324 ms |
| コンパイル使用メモリ | 164,588 KB |
| 実行使用メモリ | 6,944 KB |
| 最終ジャッジ日時 | 2024-09-19 13:05:59 |
| 合計ジャッジ時間 | 2,301 ms |
|
ジャッジサーバーID (参考情報) |
judge5 / judge4 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | AC * 20 |
ソースコード
#include <bits/stdc++.h>
using namespace std;
int main(){
int n;
cin >> n;
string mark = "DCHS";
string num = "0A23456789TJQK";
vector<int> data(n);
char x,y;
int ret;
for(int i = 0; i < n; i++){
cin >> x >> y;
if(x == 'D') ret = 0;
else if(x == 'C') ret = 13;
else if(x == 'H') ret = 26;
else ret = 39;
if(y == 'A') ret += 1;
else if(y == 'T') ret += 10;
else if(y == 'J') ret += 11;
else if(y == 'Q') ret += 12;
else if(y == 'K') ret += 13;
else ret += y - '0';
data[i] = ret;
}
sort(data.begin(),data.end());
for(int i = 0; i < n; i++){
if(i) cout << " ";
if(data[i]%13 != 0 ) cout << mark[data[i]/13] << num[data[i]%13];
else cout << mark[data[i]/13-1] << "K";
}
cout << endl;
return 0;
}
zaichu