結果
| 問題 | 
                            No.267 トランプソート
                             | 
                    
| コンテスト | |
| ユーザー | 
                             eve__fuyuki
                         | 
                    
| 提出日時 | 2018-03-15 05:23:06 | 
| 言語 | C++11(廃止可能性あり)  (gcc 13.3.0)  | 
                    
| 結果 | 
                             
                                AC
                                 
                             
                            
                         | 
                    
| 実行時間 | 2 ms / 1,000 ms | 
| コード長 | 824 bytes | 
| コンパイル時間 | 772 ms | 
| コンパイル使用メモリ | 67,212 KB | 
| 実行使用メモリ | 6,820 KB | 
| 最終ジャッジ日時 | 2024-12-14 10:35:21 | 
| 合計ジャッジ時間 | 1,903 ms | 
| 
                            ジャッジサーバーID (参考情報)  | 
                        judge5 / judge3 | 
(要ログイン)
| ファイルパターン | 結果 | 
|---|---|
| sample | AC * 3 | 
| other | AC * 20 | 
ソースコード
#include<iostream>
#include<string>
#include<vector>
#include<algorithm>
using namespace std;
int main(){
    int N,card;
    string S;
    vector<int> list;
    char suit[4] = {'D','C','H','S'};
    char nums[13] = {'A','2','3','4','5','6','7','8','9','T','J','Q','K'};
    cin >> N;
    for(int i=0;i<N;i++){
        cin >> S;
        card  = 0;
        for(int j=0;j<4;j++){
            if(S[0] == suit[j]){
                card += 13*j;
                break;
            }
        }
        for(int j=0;j<13;j++){
            if(S[1] == nums[j]){
                card += j;
                break;
            }
        }
        list.push_back(card);
    }
    sort(list.begin(),list.end());
    for(int i=0;i<N;i++){
        cout << suit[list[i]/13] << nums[list[i]%13] << " ";
    }
    cout << endl;
    return 0;
}
            
            
            
        
            
eve__fuyuki