結果

問題 No.267 トランプソート
ユーザー cureskolcureskol
提出日時 2020-04-19 00:56:59
言語 C++14
(gcc 12.3.0 + boost 1.83.0)
結果
AC  
実行時間 2 ms / 1,000 ms
コード長 866 bytes
コンパイル時間 2,127 ms
コンパイル使用メモリ 178,904 KB
実行使用メモリ 6,820 KB
最終ジャッジ日時 2024-10-04 00:36:48
合計ジャッジ時間 2,753 ms
ジャッジサーバーID
(参考情報)
judge2 / judge5
このコードへのチャレンジ
(要ログイン)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 AC 2 ms
6,816 KB
testcase_01 AC 2 ms
6,816 KB
testcase_02 AC 2 ms
6,816 KB
testcase_03 AC 2 ms
6,816 KB
testcase_04 AC 2 ms
6,816 KB
testcase_05 AC 2 ms
6,816 KB
testcase_06 AC 2 ms
6,816 KB
testcase_07 AC 2 ms
6,820 KB
testcase_08 AC 2 ms
6,816 KB
testcase_09 AC 2 ms
6,820 KB
testcase_10 AC 2 ms
6,820 KB
testcase_11 AC 2 ms
6,816 KB
testcase_12 AC 1 ms
6,816 KB
testcase_13 AC 2 ms
6,820 KB
testcase_14 AC 2 ms
6,816 KB
testcase_15 AC 2 ms
6,816 KB
testcase_16 AC 2 ms
6,816 KB
testcase_17 AC 2 ms
6,820 KB
testcase_18 AC 2 ms
6,816 KB
testcase_19 AC 1 ms
6,816 KB
testcase_20 AC 2 ms
6,816 KB
testcase_21 AC 2 ms
6,816 KB
testcase_22 AC 1 ms
6,820 KB
権限があれば一括ダウンロードができます

ソースコード

diff #

#include <bits/stdc++.h>
using namespace std;

bool cmp(string a,string b){
    int A=0,B=0;
    if(a[0]=='C')A=1;
    if(a[0]=='H')A=2;
    if(a[0]=='S')A=3;
    if(b[0]=='C')B=1;
    if(b[0]=='H')B=2;
    if(b[0]=='S')B=3;
    if(a[1]>='0'&&a[1]<='9')A=A*100+a[1]-'0';
    else{
        if(a[1]=='A')A=A*100+1;
        if(a[1]=='T')A=A*100+10;
        if(a[1]=='J')A=A*100+11;
        if(a[1]=='Q')A=A*100+12;
        if(a[1]=='K')A=A*100+13;
    }
    if(b[1]>='0'&&b[1]<='9')B=B*100+b[1]-'0';
    else{
        if(b[1]=='A')B=B*100+1;
        if(b[1]=='T')B=B*100+10;
        if(b[1]=='J')B=B*100+11;
        if(b[1]=='Q')B=B*100+12;
        if(b[1]=='K')B=B*100+13;
    }
    return A<B;
}

signed main(){
    int n;cin>>n;
    vector<string> s(n);
    for(int i=0;i<n;i++)cin>>s[i];
    sort(s.begin(),s.end(),cmp);
    for(auto p:s)cout<<p<<" ";cout<<endl;
}
0