結果
問題 | No.267 トランプソート |
ユーザー |
|
提出日時 | 2017-09-08 21:59:06 |
言語 | C++11 (gcc 13.3.0) |
結果 |
AC
|
実行時間 | 2 ms / 1,000 ms |
コード長 | 2,102 bytes |
コンパイル時間 | 1,078 ms |
コンパイル使用メモリ | 99,996 KB |
実行使用メモリ | 5,248 KB |
最終ジャッジ日時 | 2024-11-07 05:19:22 |
合計ジャッジ時間 | 2,060 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 20 |
ソースコード
#include <algorithm>#include <cmath>#include <cstdio>#include <cstdlib>#include <functional>#include <iomanip>#include <iostream>#include <iterator>#include <limits>#include <list>#include <map>#include <numeric>#include <queue>#include <set>#include <sstream>#include <stack>#include <string>#include <utility>#include <valarray>#include <vector>#define MOD 1000000007#define pe(str) return cout<<(str)<<endl,0#define px(str) {cout<<(str)<<endl;exit(0);}#define pr(str) cout<<(str)<<endl#define prpr(str) cout<<str<<endl#define db(str) cerr<<(str)<<endl#define dbdb(str) cerr<<str<<endl#define re(i,n) for(int i=0;i<(n);i++)#define rep(i,a,b) for(int i=(a);i<(b);i++)#define bw(a,b,c) (((a)<=(b))&&((b)<=(c)))#define spr(a) setprecision(a)using namespace std;typedef long long ll;typedef unsigned long long ull;typedef long double ld;typedef pair<int,int> pii;template<class InputIterator>void dump(InputIterator first,InputIterator last,char delim=' '){for(InputIterator it=first;it!=last;it++){if(it!=first)cout<<delim;cout<<*it;}}ull p(ull x,ull y){if(y==0) return 1;ull A=p(x,y/2)%MOD;return (y&1?((A*A)%MOD*x)%MOD: (A*A)%MOD);// return (y&1?((A*A)*x):(A*A));}int main(void){int n;cin>>n;string s;pii a[n];re(i,n){cin>>s;int t;if(bw(0,s[1]-'0',9))t=s[1]-'0';else if(s[1]=='A')t=1;else if(s[1]=='T')t=10;else if(s[1]=='J')t=11;else if(s[1]=='Q')t=12;else if(s[1]=='K')t=13;switch(s[0]){case 'D': a[i]=pii(1,t);break;case 'C': a[i]=pii(2,t);break;case 'H': a[i]=pii(3,t);break;case 'S': a[i]=pii(4,t);break;}}sort(a,a+n);re(i,n){cerr<<a[i].first<<" "<<a[i].second<<endl;}re(i,n){if(i!=0)cout<<" ";switch(a[i].first){case 1:cout<<'D';break;case 2:cout<<'C';break;case 3:cout<<'H';break;case 4:cout<<'S';break;}switch(a[i].second){case 1:cout<<'A';break;case 10:cout<<'T';break;case 11:cout<<'J';break;case 12:cout<<'Q';break;case 13:cout<<'K';break;default:cout<<a[i].second;break;}}cout<<endl;return 0;}