#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#define LEN 32
#define MAXINPUT 200
enum types {
FIVEKIND,
FOURKIND,
FULLHOUSE,
THREEKIND,
TWOPAIR,
ONEPAIR,
HIGHCARD
};
struct {
char hand[6];
int bid;
enum types type;
} input[MAXINPUT];
int inputindex;
enum types check_hand(char cards[])
{
int alphabet[26];
int numbers[10];
memset(alphabet
, 0, sizeof(alphabet
)); memset(numbers
, 0, sizeof(numbers
));
for(int i
=0;i
<strlen(cards
);i
++) {
if(cards[i]>='0'&&cards[i]<='9')
numbers[cards[i]-'0']++;
else
alphabet[cards[i]-'A']++;
}
int count[5];
int k=0;
memset(count
,0,sizeof(count
)); for(int i=0;i<26;i++)
if(alphabet[i])
count[k++]++;
for(int i=0;i<10;i++)
if(numbers[i])
count[k++]++;
int max=0;
for(int i=0;i<5;i++)
if(max<count[i])
max=count[i];
int pairs=0;
switch(max)
{
case 5:
return FIVEKIND;
break;
case 4:
return FOURKIND;
break;
case 3:
for(int i=0;i<5;i++)
if(count[i]==2)
return FULLHOUSE;
return THREEKIND;
break;
case 2:
pairs=0;
for(int i=0;i<5;i++)
if(count[i]==2)
pairs++;
if(pairs==2)
return TWOPAIR;
return ONEPAIR;
break;
default:
return HIGHCARD;
break;
}
return HIGHCARD;
}
int main()
{
char line[LEN];
while(fgets(line
,LEN
,stdin
)!=NULL
) {
char *token;
strcpy(input
[inputindex
].
hand, token
);
input
[inputindex
].
bid = atoi(token
);
inputindex++;
}
for(int i=0;i<inputindex;i++)
input[i].type = check_hand(input[i].hand);
for(int i=0;i<inputindex;i++)
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxzdHJpbmcuaD4KI2luY2x1ZGUgPHN0ZGxpYi5oPgoKI2RlZmluZSBMRU4gMzIKI2RlZmluZSBNQVhJTlBVVCAyMDAKCmVudW0gdHlwZXMgewoJRklWRUtJTkQsCglGT1VSS0lORCwKCUZVTExIT1VTRSwKCVRIUkVFS0lORCwKCVRXT1BBSVIsCglPTkVQQUlSLAoJSElHSENBUkQKfTsKCnN0cnVjdCB7CgljaGFyIGhhbmRbNl07CglpbnQgYmlkOwoJZW51bSB0eXBlcyB0eXBlOwp9IGlucHV0W01BWElOUFVUXTsKCmludCBpbnB1dGluZGV4OwoKCgplbnVtIHR5cGVzIGNoZWNrX2hhbmQoY2hhciBjYXJkc1tdKQp7CglpbnQgYWxwaGFiZXRbMjZdOwoJaW50IG51bWJlcnNbMTBdOwoJbWVtc2V0KGFscGhhYmV0LCAwLCBzaXplb2YoYWxwaGFiZXQpKTsKCW1lbXNldChudW1iZXJzLCAwLCBzaXplb2YobnVtYmVycykpOwoJCglmb3IoaW50IGk9MDtpPHN0cmxlbihjYXJkcyk7aSsrKQoJewoJCWlmKGNhcmRzW2ldPj0nMCcmJmNhcmRzW2ldPD0nOScpCgkJCW51bWJlcnNbY2FyZHNbaV0tJzAnXSsrOwoJCWVsc2UKCQkJYWxwaGFiZXRbY2FyZHNbaV0tJ0EnXSsrOwoJfQoJCglpbnQgY291bnRbNV07CglpbnQgaz0wOwoJbWVtc2V0KGNvdW50LDAsc2l6ZW9mKGNvdW50KSk7Cglmb3IoaW50IGk9MDtpPDI2O2krKykKCQlpZihhbHBoYWJldFtpXSkKCQkJY291bnRbaysrXSsrOwoJCglmb3IoaW50IGk9MDtpPDEwO2krKykKCQlpZihudW1iZXJzW2ldKQoJCQljb3VudFtrKytdKys7CgkJCglpbnQgbWF4PTA7Cglmb3IoaW50IGk9MDtpPDU7aSsrKQoJCWlmKG1heDxjb3VudFtpXSkKCQkJbWF4PWNvdW50W2ldOwoJCglpbnQgcGFpcnM9MDsKCQoJc3dpdGNoKG1heCkKCXsKCQljYXNlIDU6CgkJcmV0dXJuIEZJVkVLSU5EOwoJCWJyZWFrOwoJCQoJCWNhc2UgNDoKCQlyZXR1cm4gRk9VUktJTkQ7CgkJYnJlYWs7CgkJCgkJY2FzZSAzOgoJCWZvcihpbnQgaT0wO2k8NTtpKyspCgkJCWlmKGNvdW50W2ldPT0yKQoJCQkJcmV0dXJuIEZVTExIT1VTRTsKCQlyZXR1cm4gVEhSRUVLSU5EOwoJCWJyZWFrOwoJCQoJCWNhc2UgMjoKCQlwYWlycz0wOwoJCWZvcihpbnQgaT0wO2k8NTtpKyspCgkJCWlmKGNvdW50W2ldPT0yKQoJCQkJcGFpcnMrKzsKCQlpZihwYWlycz09MikKCQkJcmV0dXJuIFRXT1BBSVI7CgkJcmV0dXJuIE9ORVBBSVI7CgkJYnJlYWs7CgkJCgkJZGVmYXVsdDoKCQlyZXR1cm4gSElHSENBUkQ7CgkJYnJlYWs7Cgl9CgkKCXJldHVybiBISUdIQ0FSRDsKfQoKCmludCBtYWluKCkKewoJY2hhciBsaW5lW0xFTl07Cgl3aGlsZShmZ2V0cyhsaW5lLExFTixzdGRpbikhPU5VTEwpCgl7CgkJY2hhciAqdG9rZW47CgkJdG9rZW49c3RydG9rKGxpbmUsIiAiKTsKCQlzdHJjcHkoaW5wdXRbaW5wdXRpbmRleF0uaGFuZCwgdG9rZW4pOwoJCQoJCXRva2VuPXN0cnRvayhOVUxMLCIgIik7CgkJaW5wdXRbaW5wdXRpbmRleF0uYmlkID0gYXRvaSh0b2tlbik7CgkJCgkJaW5wdXRpbmRleCsrOwoJfQoJCglmb3IoaW50IGk9MDtpPGlucHV0aW5kZXg7aSsrKQoJCWlucHV0W2ldLnR5cGUgPSBjaGVja19oYW5kKGlucHV0W2ldLmhhbmQpOwoJCgkKCWZvcihpbnQgaT0wO2k8aW5wdXRpbmRleDtpKyspCgkJcHJpbnRmKCIlZFxuIixpbnB1dFtpXS50eXBlKTsKCQoJcmV0dXJuIDA7Cn0=