結果
問題 |
No.267 トランプソート
|
ユーザー |
![]() |
提出日時 | 2020-04-19 00:56:59 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.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 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 20 |
ソースコード
#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; }