結果
問題 | No.267 トランプソート |
ユーザー |
![]() |
提出日時 | 2019-04-19 12:51:40 |
言語 | C (gcc 13.3.0) |
結果 |
AC
|
実行時間 | 1 ms / 1,000 ms |
コード長 | 1,001 bytes |
コンパイル時間 | 174 ms |
コンパイル使用メモリ | 30,336 KB |
実行使用メモリ | 6,944 KB |
最終ジャッジ日時 | 2024-09-22 11:23:09 |
合計ジャッジ時間 | 997 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 20 |
コンパイルメッセージ
main.c: In function 'in': main.c:8:14: warning: implicit declaration of function 'getchar_unlocked' [-Wimplicit-function-declaration] 8 | #define gc() getchar_unlocked() | ^~~~~~~~~~~~~~~~ main.c:16:28: note: in expansion of macro 'gc' 16 | int n = 0; int c = gc(); | ^~ main.c: In function 'outs': main.c:9:15: warning: implicit declaration of function 'putchar_unlocked' [-Wimplicit-function-declaration] 9 | #define pc(c) putchar_unlocked(c) | ^~~~~~~~~~~~~~~~ main.c:21:33: note: in expansion of macro 'pc' 21 | void outs(char *s) { while (*s) pc(*s++); } | ^~
ソースコード
// yukicoder: No.267 トランプソート// 2019.4.19 bal4u#include <stdio.h>#include <stdlib.h>#if 1#define gc() getchar_unlocked()#define pc(c) putchar_unlocked(c)#else#define gc() getchar()#define pc(c) putchar(c)#endifint in(){int n = 0; int c = gc();do n = 10 * n + (c & 0xf), c = gc(); while (c >= '0');return n;}void outs(char *s) { while (*s) pc(*s++); }typedef struct { char c[3]; int n; } T;T t[55]; int N;int mark[128];int num[128];int cmp(const void *a, const void *b) { return ((T *)a)->n - ((T *)b)->n; }int main(){int i, a, b;mark['D'] = 1, mark['C'] = 2, mark['H'] = 3, mark['S'] = 4;num['A'] = 1, num['T'] = 10, num['J'] = 11, num['Q'] = 12, num['K'] = 13;for (i = 2; i <= 9; i++) num['0'+i] = i;N = in();for (i = 0; i < N; i++) {t[i].c[0] = a = gc(), t[i].c[1] = b = gc(), gc();t[i].n = (mark[a]<<5) | num[b];}qsort(t, N, sizeof(T), cmp);outs(t[0].c);for (i = 1; i < N; i++) pc(' '), outs(t[i].c);pc('\n');return 0;}