結果
問題 | No.267 トランプソート |
ユーザー |
![]() |
提出日時 | 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 |
ソースコード
#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; }