結果
問題 | No.267 トランプソート |
ユーザー |
![]() |
提出日時 | 2015-11-03 00:31:32 |
言語 | C++11(廃止可能性あり) (gcc 13.3.0) |
結果 |
AC
|
実行時間 | 2 ms / 1,000 ms |
コード長 | 936 bytes |
コンパイル時間 | 1,641 ms |
コンパイル使用メモリ | 169,960 KB |
実行使用メモリ | 6,944 KB |
最終ジャッジ日時 | 2024-09-13 11:46:37 |
合計ジャッジ時間 | 2,425 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 20 |
コンパイルメッセージ
main.cpp: In function ‘bool comp(std::string, std::string)’: main.cpp:21:15: warning: ‘bb’ may be used uninitialized in this function [-Wmaybe-uninitialized] 21 | return aa<bb; | ^~ main.cpp:21:15: warning: ‘aa’ may be used uninitialized in this function [-Wmaybe-uninitialized]
ソースコード
#include <bits/stdc++.h>#define PB push_back#define MP make_pair#define REP(i,n) for (int i=0;i<(n);i++)#define FOR(i,a,b) for(int i=(a);i<(b);i++)#define ALL(a) (a).begin(),(a).end()using namespace std;typedef long long ll;typedef unsigned long long ull;typedef pair<int,int> P;const int INF=1e9;string m="DCHS";string mm="TJQK";bool comp(string a,string b){int aa,bb;if(a[0]!=b[0]){REP(i,4){if(a[0]==m[i])aa=i;if(b[0]==m[i])bb=i;}return aa<bb;}if('2'<=a[1]&&a[1]<='9')aa=(int)a[1]-'0';else{if(a[1]=='A')aa=1;REP(i,4)if(a[1]==mm[i])aa=i+10;}if('2'<=b[1]&&b[1]<='9')bb=(int)b[1]-'0';else{if(b[1]=='A')bb=1;REP(i,4)if(b[1]==mm[i])bb=i+10;}return aa<bb;}int main(){int n;cin>>n;vector<string> V(n);REP(i,n)cin>>V[i];sort(ALL(V),comp);REP(i,V.size()){cout<<V[i];if(i==V.size()-1)cout<<endl;else cout<<" ";}}