Please sign in first.
Submission #41346
Source Code Expand
#include <cstdio>
#include <cstring>
#include <algorithm>
#include <vector>
using namespace std;
#define REPN(i, a, b) for(int i = (int)(a); i < (int)(b); i++)
#define REP(i, n) REPN(i, 0, n)
#define FOR(i, c) for(__typeof((c).begin()) i = (c).begin(); i != (c).end(); i++)
#define ALL(v) (v).begin(), (v).end()
char buf[1000];
char suit_[] = "SHDC";
bool check(bool f[]) {
return f['1'] && f['J'] && f['Q'] && f['K'] && f['A'];
}
int main() {
gets(buf);
int len = strlen(buf);
char cards[4][1000];
int min_drop = 1000000, idx = -1;
bool flags[256] = {false};
for(int st = 0; st < 4; st++) {
char suit = suit_[st];
int t = 0;
memset(flags, false, sizeof(flags));
int drop = 0;
for(int p = 0; p < len; ) {
if(buf[p] != suit) {
drop++;
if(buf[p + 1] == '1') {
cards[st][t] = buf[p];
cards[st][t + 1] = buf[p + 1];
cards[st][t + 2] = buf[p + 2];
t += 3; p += 3;
} else {
cards[st][t] = buf[p];
cards[st][t + 1] = buf[p + 1];
t += 2; p += 2;
}
}else{
if(buf[p + 1] == '1' ||
buf[p + 1] == 'J' ||
buf[p + 1] == 'Q' ||
buf[p + 1] == 'K' ||
buf[p + 1] == 'A') {
flags[(int)buf[p + 1]] = true;
if(check(flags)) break;
p += buf[p + 1] == '1' ? 3 : 2;
} else {
drop++;
cards[st][t] = suit;
cards[st][t + 1] = buf[p + 1];
t += 2; p += 2;
}
}
}
cards[st][t] = 0;
// printf("%c drop=%d %s\n", suit, drop, cards[st]);
if(drop < min_drop) {
min_drop = drop;
idx = st;
}
}
puts(min_drop <= 0 ? "0" : cards[idx]);
return 0;
}
Submission Info
| Submission Time | |
|---|---|
| Task | B - ロイヤルストレートフラッシュ |
| User | miya |
| Language | C++ (G++ 4.6.4) |
| Score | 100 |
| Code Size | 1858 Byte |
| Status | AC |
| Exec Time | 26 ms |
| Memory | 816 KiB |
Compile Error
./Main.cpp: In function ‘int main()’: ./Main.cpp:21:12: warning: ignoring return value of ‘char* gets(char*)’, declared with attribute warn_unused_result [-Wunused-result]
Judge Result
| Set Name | All | ||
|---|---|---|---|
| Score / Max Score | 100 / 100 | ||
| Status |
|
| Set Name | Test Cases |
|---|---|
| All | 00_sample1, 00_sample2, 10_input00, 10_input01, 10_input02, 10_input03, 10_input04, 10_input05, 10_input06, 10_input07, 10_input08, 10_input09, 10_input10, 10_input11, 10_input12, 10_input13, 10_input14, 10_input15, 10_input16, 10_input17, 10_input18, 10_input19, 10_input20, 10_input21, 10_input22, 10_input23, 10_input24, 10_input25, 10_input26, 10_input27, 10_input28, 10_input29, 10_input30, 10_input31, 10_input32, 10_input33, 10_input34, 10_input35, 10_input36, 10_input37, 10_input38, 10_input39, 10_input40, 10_input41, 10_input42, 10_input43, 10_input44, 10_input45, 10_input46, 10_input47, 10_input48, 10_input49, 10_input50, 10_input51, 10_input52, 10_input53, 10_input54, 10_input55, 10_input56, 10_input57, 10_input58, 10_input59, 10_input60, 10_input61, 10_input62, 10_input63, 10_input64, 10_input65, 10_input66, 10_input67, 10_input68, 10_input69 |
| Case Name | Status | Exec Time | Memory |
|---|---|---|---|
| 00_sample1 | AC | 20 ms | 664 KiB |
| 00_sample2 | AC | 19 ms | 704 KiB |
| 10_input00 | AC | 20 ms | 692 KiB |
| 10_input01 | AC | 19 ms | 816 KiB |
| 10_input02 | AC | 19 ms | 696 KiB |
| 10_input03 | AC | 19 ms | 668 KiB |
| 10_input04 | AC | 19 ms | 660 KiB |
| 10_input05 | AC | 19 ms | 688 KiB |
| 10_input06 | AC | 19 ms | 660 KiB |
| 10_input07 | AC | 20 ms | 700 KiB |
| 10_input08 | AC | 20 ms | 688 KiB |
| 10_input09 | AC | 20 ms | 648 KiB |
| 10_input10 | AC | 19 ms | 680 KiB |
| 10_input11 | AC | 19 ms | 696 KiB |
| 10_input12 | AC | 18 ms | 660 KiB |
| 10_input13 | AC | 20 ms | 672 KiB |
| 10_input14 | AC | 19 ms | 660 KiB |
| 10_input15 | AC | 19 ms | 664 KiB |
| 10_input16 | AC | 19 ms | 660 KiB |
| 10_input17 | AC | 20 ms | 692 KiB |
| 10_input18 | AC | 20 ms | 684 KiB |
| 10_input19 | AC | 19 ms | 648 KiB |
| 10_input20 | AC | 20 ms | 700 KiB |
| 10_input21 | AC | 20 ms | 664 KiB |
| 10_input22 | AC | 19 ms | 660 KiB |
| 10_input23 | AC | 20 ms | 684 KiB |
| 10_input24 | AC | 19 ms | 660 KiB |
| 10_input25 | AC | 20 ms | 692 KiB |
| 10_input26 | AC | 19 ms | 664 KiB |
| 10_input27 | AC | 20 ms | 676 KiB |
| 10_input28 | AC | 19 ms | 696 KiB |
| 10_input29 | AC | 20 ms | 676 KiB |
| 10_input30 | AC | 19 ms | 692 KiB |
| 10_input31 | AC | 20 ms | 696 KiB |
| 10_input32 | AC | 20 ms | 660 KiB |
| 10_input33 | AC | 20 ms | 668 KiB |
| 10_input34 | AC | 20 ms | 692 KiB |
| 10_input35 | AC | 20 ms | 676 KiB |
| 10_input36 | AC | 19 ms | 692 KiB |
| 10_input37 | AC | 20 ms | 636 KiB |
| 10_input38 | AC | 19 ms | 664 KiB |
| 10_input39 | AC | 20 ms | 768 KiB |
| 10_input40 | AC | 19 ms | 696 KiB |
| 10_input41 | AC | 19 ms | 696 KiB |
| 10_input42 | AC | 19 ms | 676 KiB |
| 10_input43 | AC | 18 ms | 656 KiB |
| 10_input44 | AC | 18 ms | 660 KiB |
| 10_input45 | AC | 19 ms | 692 KiB |
| 10_input46 | AC | 20 ms | 668 KiB |
| 10_input47 | AC | 20 ms | 696 KiB |
| 10_input48 | AC | 20 ms | 664 KiB |
| 10_input49 | AC | 20 ms | 688 KiB |
| 10_input50 | AC | 20 ms | 688 KiB |
| 10_input51 | AC | 18 ms | 660 KiB |
| 10_input52 | AC | 20 ms | 696 KiB |
| 10_input53 | AC | 26 ms | 692 KiB |
| 10_input54 | AC | 19 ms | 692 KiB |
| 10_input55 | AC | 19 ms | 700 KiB |
| 10_input56 | AC | 18 ms | 668 KiB |
| 10_input57 | AC | 20 ms | 668 KiB |
| 10_input58 | AC | 20 ms | 700 KiB |
| 10_input59 | AC | 19 ms | 660 KiB |
| 10_input60 | AC | 19 ms | 688 KiB |
| 10_input61 | AC | 20 ms | 692 KiB |
| 10_input62 | AC | 20 ms | 664 KiB |
| 10_input63 | AC | 20 ms | 688 KiB |
| 10_input64 | AC | 20 ms | 664 KiB |
| 10_input65 | AC | 20 ms | 660 KiB |
| 10_input66 | AC | 19 ms | 680 KiB |
| 10_input67 | AC | 19 ms | 684 KiB |
| 10_input68 | AC | 19 ms | 684 KiB |
| 10_input69 | AC | 19 ms | 676 KiB |