結果

問題 No.267 トランプソート
ユーザー nasadigital
提出日時 2015-08-21 22:40:01
言語 C++11(廃止可能性あり)
(gcc 13.3.0)
結果
AC  
実行時間 2 ms / 1,000 ms
コード長 888 bytes
コンパイル時間 1,210 ms
コンパイル使用メモリ 168,568 KB
実行使用メモリ 6,940 KB
最終ジャッジ日時 2024-07-18 11:46:07
合計ジャッジ時間 1,839 ms
ジャッジサーバーID
(参考情報)
judge3 / judge2
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 20
権限があれば一括ダウンロードができます

ソースコード

diff #

#include <bits/stdc++.h>

using namespace std;

map<char,int> mpa;

int getval(char a){
    if(mpa.count(a)>0)
        return mpa[a];
    else return a-'0';
}

int main()
{
    mpa['D']=0;
    mpa['C']=1;
    mpa['H']=2;
    mpa['S']=3;
    mpa['A']=1;
    mpa['T']=10;
    mpa['J']=11;
    mpa['Q']=12;
    mpa['K']=13;
    int n;
    cin>>n;
    string niza[n];
    for(int ctr1=0;ctr1<n;ctr1++)
        cin>>niza[ctr1];
    for(int ctr1=0;ctr1<n;ctr1++){
        for(int ctr2=ctr1+1;ctr2<n;ctr2++){
            if(getval(niza[ctr1][0])<getval(niza[ctr2][0]))
                swap(niza[ctr1],niza[ctr2]);
            else if(getval(niza[ctr1][0])==getval(niza[ctr2][0]) && getval(niza[ctr1][1])<getval(niza[ctr2][1]))
                swap(niza[ctr1],niza[ctr2]);
        }
    }
    reverse(niza,niza+n);
    for(int ctr1=0;ctr1<n;ctr1++)
        cout<<niza[ctr1]<<" ";
    return 0;
}
0