<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://mediawiki.zeropage.org/index.php?action=history&amp;feed=atom&amp;title=PokerHands%2FCelfin</id>
	<title>PokerHands/Celfin - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://mediawiki.zeropage.org/index.php?action=history&amp;feed=atom&amp;title=PokerHands%2FCelfin"/>
	<link rel="alternate" type="text/html" href="https://mediawiki.zeropage.org/index.php?title=PokerHands/Celfin&amp;action=history"/>
	<updated>2026-05-15T06:25:33Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.39.8</generator>
	<entry>
		<id>https://mediawiki.zeropage.org/index.php?title=PokerHands/Celfin&amp;diff=37529&amp;oldid=prev</id>
		<title>imported&gt;Unknown at 05:24, 7 February 2021</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.zeropage.org/index.php?title=PokerHands/Celfin&amp;diff=37529&amp;oldid=prev"/>
		<updated>2021-02-07T05:24:00Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt; #include &amp;amp;lt;iostream&amp;amp;gt;&lt;br /&gt;
 #include &amp;amp;lt;algorithm&amp;amp;gt;&lt;br /&gt;
 using namespace std;&lt;br /&gt;
 &lt;br /&gt;
 struct Poker {&lt;br /&gt;
 	int number;&lt;br /&gt;
 	char color;&lt;br /&gt;
 };&lt;br /&gt;
 &lt;br /&gt;
 Poker black[6];&lt;br /&gt;
 Poker white[6];&lt;br /&gt;
 &lt;br /&gt;
 ////// 비길경우 비교를 위해 &lt;br /&gt;
 &lt;br /&gt;
 Poker blackPair[5];&lt;br /&gt;
 Poker whitePair[5];&lt;br /&gt;
 &lt;br /&gt;
 int i;&lt;br /&gt;
 char temp[255];&lt;br /&gt;
 &lt;br /&gt;
 ////////////////////////////// 소팅 ////////////////////////////////////&lt;br /&gt;
 &lt;br /&gt;
 bool compare(Poker a, Poker b)&lt;br /&gt;
 {&lt;br /&gt;
 	return a.number&amp;amp;gt;b.number;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 /////////////////////////////// 입 력 //////////////////////////////////&lt;br /&gt;
 &lt;br /&gt;
 bool input()&lt;br /&gt;
 {&lt;br /&gt;
 	temp[28]=NULL;&lt;br /&gt;
 	cin.getline(temp, 255);&lt;br /&gt;
 	for(i=0; i&amp;amp;lt;10; i++)&lt;br /&gt;
 	{&lt;br /&gt;
 		if(temp[28]==NULL)&lt;br /&gt;
 			return false;&lt;br /&gt;
 		if(i&amp;amp;lt;5)&lt;br /&gt;
 		{&lt;br /&gt;
 			if(temp[3*i]==&amp;#039;T&amp;#039;)&lt;br /&gt;
 				black[i].number = 10;&lt;br /&gt;
 			else if(temp[3*i]==&amp;#039;J&amp;#039;)&lt;br /&gt;
 				black[i].number = 11;&lt;br /&gt;
 			else if(temp[3*i]==&amp;#039;Q&amp;#039;)&lt;br /&gt;
 				black[i].number = 12;&lt;br /&gt;
 			else if(temp[3*i]==&amp;#039;K&amp;#039;)&lt;br /&gt;
 				black[i].number = 13;&lt;br /&gt;
 			else if(temp[3*i]==&amp;#039;A&amp;#039;)&lt;br /&gt;
 				black[i].number = 14;&lt;br /&gt;
 			else&lt;br /&gt;
 				black[i].number = temp[3*i]-48;&lt;br /&gt;
 			black[i].color = temp[3*i+1];&lt;br /&gt;
 		}&lt;br /&gt;
 		else&lt;br /&gt;
 		{&lt;br /&gt;
 			if(temp[3*i]==&amp;#039;T&amp;#039;)&lt;br /&gt;
 				white[i-5].number = 10;&lt;br /&gt;
 			else if(temp[3*i]==&amp;#039;J&amp;#039;)&lt;br /&gt;
 				white[i-5].number = 11;&lt;br /&gt;
 			else if(temp[3*i]==&amp;#039;Q&amp;#039;)&lt;br /&gt;
 				white[i-5].number = 12;&lt;br /&gt;
 			else if(temp[3*i]==&amp;#039;K&amp;#039;)&lt;br /&gt;
 				white[i-5].number = 13;&lt;br /&gt;
 			else if(temp[3*i]==&amp;#039;A&amp;#039;)&lt;br /&gt;
 				white[i-5].number = 14;&lt;br /&gt;
 			else&lt;br /&gt;
 				white[i-5].number = temp[3*i]-48;&lt;br /&gt;
 			white[i-5].color = temp[3*i+1];&lt;br /&gt;
 		}&lt;br /&gt;
 	}&lt;br /&gt;
 &lt;br /&gt;
 	black[5].number = 0; white[5].number = 0;&lt;br /&gt;
 &lt;br /&gt;
 	sort(&amp;amp;amp;black[0], &amp;amp;amp;black[5], compare);&lt;br /&gt;
 	sort(&amp;amp;amp;white[0], &amp;amp;amp;white[5], compare);&lt;br /&gt;
 	return true;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 ///////////////////////////// 풀하우스 결정 ////////////////////////////&lt;br /&gt;
 &lt;br /&gt;
 bool isFullHouse(Poker *card, int turn)&lt;br /&gt;
 {&lt;br /&gt;
 	if((card[0].number==card[2].number) &amp;amp;amp;&amp;amp;amp; (card[3].number==card[4].number))&lt;br /&gt;
 	{&lt;br /&gt;
 		if(turn==1)&lt;br /&gt;
 		{&lt;br /&gt;
 			blackPair[0].number = card[2].number;&lt;br /&gt;
 			blackPair[1].number = card[3].number;&lt;br /&gt;
 		}&lt;br /&gt;
 		else&lt;br /&gt;
 		{&lt;br /&gt;
 			whitePair[0].number = card[2].number;&lt;br /&gt;
 			whitePair[1].number = card[3].number;&lt;br /&gt;
 		}&lt;br /&gt;
 		return true;&lt;br /&gt;
 	}&lt;br /&gt;
 	else if((card[0].number==card[1].number) &amp;amp;amp;&amp;amp;amp; (card[2].number==card[4].number))&lt;br /&gt;
 	{&lt;br /&gt;
 		if(turn==1)&lt;br /&gt;
 		{&lt;br /&gt;
 			blackPair[0].number = card[2].number;&lt;br /&gt;
 			blackPair[1].number = card[1].number;&lt;br /&gt;
 		}&lt;br /&gt;
 		else&lt;br /&gt;
 		{&lt;br /&gt;
 			whitePair[0].number = card[2].number;&lt;br /&gt;
 			whitePair[1].number = card[1].number;&lt;br /&gt;
 		}&lt;br /&gt;
 		return true;&lt;br /&gt;
 	}&lt;br /&gt;
 	return false;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 ///////////////////////////// 포카드 결정 ////////////////////////////&lt;br /&gt;
 &lt;br /&gt;
 bool isFourCard(Poker *card, int turn)&lt;br /&gt;
 {&lt;br /&gt;
 	if(card[0].number==card[3].number)&lt;br /&gt;
 	{&lt;br /&gt;
 		if(turn==1)  //블랙 턴일 경우 &lt;br /&gt;
 		{&lt;br /&gt;
 			blackPair[0].number = card[0].number;&lt;br /&gt;
 			blackPair[1].number = card[4].number;&lt;br /&gt;
 		}&lt;br /&gt;
 		else&lt;br /&gt;
 		{&lt;br /&gt;
 			whitePair[0].number = card[0].number;&lt;br /&gt;
 			whitePair[1].number = card[4].number;&lt;br /&gt;
 		}&lt;br /&gt;
 		return true;&lt;br /&gt;
 	}&lt;br /&gt;
 	else if(card[1].number==card[4].number)&lt;br /&gt;
 	{&lt;br /&gt;
 		if(turn==1)  //블랙 턴일 경우 &lt;br /&gt;
 		{&lt;br /&gt;
 			blackPair[0].number = card[1].number;&lt;br /&gt;
 			blackPair[1].number = card[0].number;&lt;br /&gt;
 		}&lt;br /&gt;
 		else&lt;br /&gt;
 		{&lt;br /&gt;
 			whitePair[0].number = card[1].number;&lt;br /&gt;
 			whitePair[1].number = card[0].number;&lt;br /&gt;
 		}&lt;br /&gt;
 		return true;&lt;br /&gt;
 	}&lt;br /&gt;
 	return false;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 ///////////////////////////// 트리플 결정 ////////////////////////////&lt;br /&gt;
 &lt;br /&gt;
 bool isThreeCard(Poker *card, int turn)&lt;br /&gt;
 {&lt;br /&gt;
 	if(card[0].number==card[2].number)&lt;br /&gt;
 	{&lt;br /&gt;
 		if(turn==1)  //블랙 턴일 경우 &lt;br /&gt;
 		{&lt;br /&gt;
 			blackPair[0].number = card[0].number;&lt;br /&gt;
 			blackPair[1].number = card[3].number;&lt;br /&gt;
 			blackPair[2].number = card[4].number;&lt;br /&gt;
 		}&lt;br /&gt;
 		else&lt;br /&gt;
 		{&lt;br /&gt;
 			whitePair[0].number = card[0].number;&lt;br /&gt;
 			whitePair[1].number = card[3].number;&lt;br /&gt;
 			whitePair[2].number = card[4].number;&lt;br /&gt;
 		}&lt;br /&gt;
 		return true;&lt;br /&gt;
 	}&lt;br /&gt;
 	else if(card[1].number==card[3].number)&lt;br /&gt;
 	{&lt;br /&gt;
 		if(turn==1)  //블랙 턴일 경우 &lt;br /&gt;
 		{&lt;br /&gt;
 			blackPair[0].number = card[1].number;&lt;br /&gt;
 			blackPair[1].number = card[0].number;&lt;br /&gt;
 			blackPair[2].number = card[4].number;&lt;br /&gt;
 		}&lt;br /&gt;
 		else&lt;br /&gt;
 		{&lt;br /&gt;
 			whitePair[0].number = card[1].number;&lt;br /&gt;
 			whitePair[1].number = card[0].number;&lt;br /&gt;
 			whitePair[2].number = card[4].number;&lt;br /&gt;
 		}&lt;br /&gt;
 		return true;&lt;br /&gt;
 	}&lt;br /&gt;
 	else if(card[2].number==card[4].number)&lt;br /&gt;
 	{&lt;br /&gt;
 		if(turn==1)  //블랙 턴일 경우 &lt;br /&gt;
 		{&lt;br /&gt;
 			blackPair[0].number = card[2].number;&lt;br /&gt;
 			blackPair[1].number = card[0].number;&lt;br /&gt;
 			blackPair[2].number = card[1].number;&lt;br /&gt;
 		}&lt;br /&gt;
 		else&lt;br /&gt;
 		{&lt;br /&gt;
 			whitePair[0].number = card[2].number;&lt;br /&gt;
 			whitePair[1].number = card[0].number;&lt;br /&gt;
 			whitePair[2].number = card[1].number;&lt;br /&gt;
 		}&lt;br /&gt;
 		return true;&lt;br /&gt;
 	}&lt;br /&gt;
 	return false;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 ///////////////////////////// 투페어 결정 ////////////////////////////&lt;br /&gt;
 &lt;br /&gt;
 bool isTwoPair(Poker *card, int turn)&lt;br /&gt;
 {&lt;br /&gt;
 	if((card[0].number==card[1].number)&amp;amp;amp;&amp;amp;amp;(card[2].number==card[3].number))&lt;br /&gt;
 	{&lt;br /&gt;
 		if(turn==1)  //블랙 턴일 경우 &lt;br /&gt;
 		{&lt;br /&gt;
 			blackPair[0].number = card[0].number;&lt;br /&gt;
 			blackPair[1].number = card[2].number;&lt;br /&gt;
 			blackPair[2].number = card[4].number;&lt;br /&gt;
 		}&lt;br /&gt;
 		else&lt;br /&gt;
 		{&lt;br /&gt;
 			whitePair[0].number = card[0].number;&lt;br /&gt;
 			whitePair[1].number = card[2].number;&lt;br /&gt;
 			whitePair[2].number = card[4].number;&lt;br /&gt;
 		}&lt;br /&gt;
 		return true;&lt;br /&gt;
 	}&lt;br /&gt;
 	else if((card[0].number==card[1].number)&amp;amp;amp;&amp;amp;amp;(card[3].number==card[4].number))&lt;br /&gt;
 	{&lt;br /&gt;
 		if(turn==1)  //블랙 턴일 경우 &lt;br /&gt;
 		{&lt;br /&gt;
 			blackPair[0].number = card[0].number;&lt;br /&gt;
 			blackPair[1].number = card[3].number;&lt;br /&gt;
 			blackPair[2].number = card[2].number;&lt;br /&gt;
 		}&lt;br /&gt;
 		else&lt;br /&gt;
 		{&lt;br /&gt;
 			whitePair[0].number = card[0].number;&lt;br /&gt;
 			whitePair[1].number = card[3].number;&lt;br /&gt;
 			whitePair[2].number = card[2].number;&lt;br /&gt;
 		}&lt;br /&gt;
 		return true;&lt;br /&gt;
 	}&lt;br /&gt;
 	else if((card[1].number==card[2].number)&amp;amp;amp;&amp;amp;amp;(card[3].number==card[4].number))&lt;br /&gt;
 	{&lt;br /&gt;
 		if(turn==1)  //블랙 턴일 경우 &lt;br /&gt;
 		{&lt;br /&gt;
 			blackPair[0].number = card[1].number;&lt;br /&gt;
 			blackPair[1].number = card[3].number;&lt;br /&gt;
 			blackPair[2].number = card[0].number;&lt;br /&gt;
 		}&lt;br /&gt;
 		else&lt;br /&gt;
 		{&lt;br /&gt;
 			whitePair[0].number = card[1].number;&lt;br /&gt;
 			whitePair[1].number = card[3].number;&lt;br /&gt;
 			whitePair[2].number = card[0].number;&lt;br /&gt;
 		}&lt;br /&gt;
 		return true;&lt;br /&gt;
 	}&lt;br /&gt;
 	return false;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 ///////////////////////////// 원페어 결정 ////////////////////////////&lt;br /&gt;
 &lt;br /&gt;
 bool isOnePair(Poker *card, int turn)&lt;br /&gt;
 {&lt;br /&gt;
 	if(card[0].number==card[1].number)&lt;br /&gt;
 	{&lt;br /&gt;
 		if(turn==1)  //블랙 턴일 경우 &lt;br /&gt;
 		{&lt;br /&gt;
 			blackPair[0].number = card[0].number;&lt;br /&gt;
 			blackPair[1].number = card[2].number;&lt;br /&gt;
 			blackPair[2].number = card[3].number;&lt;br /&gt;
 			blackPair[3].number = card[4].number;&lt;br /&gt;
 		}&lt;br /&gt;
 		else&lt;br /&gt;
 		{&lt;br /&gt;
 			whitePair[0].number = card[0].number;&lt;br /&gt;
 			whitePair[1].number = card[2].number;&lt;br /&gt;
 			whitePair[2].number = card[3].number;&lt;br /&gt;
 			whitePair[3].number = card[4].number;&lt;br /&gt;
 		}&lt;br /&gt;
 		return true;&lt;br /&gt;
 	}&lt;br /&gt;
 	else if(card[1].number==card[2].number)&lt;br /&gt;
 	{&lt;br /&gt;
 		if(turn==1)  //블랙 턴일 경우 &lt;br /&gt;
 		{&lt;br /&gt;
 			blackPair[0].number = card[1].number;&lt;br /&gt;
 			blackPair[1].number = card[0].number;&lt;br /&gt;
 			blackPair[2].number = card[3].number;&lt;br /&gt;
 			blackPair[3].number = card[4].number;&lt;br /&gt;
 		}&lt;br /&gt;
 		else&lt;br /&gt;
 		{&lt;br /&gt;
 			whitePair[0].number = card[1].number;&lt;br /&gt;
 			whitePair[1].number = card[0].number;&lt;br /&gt;
 			whitePair[2].number = card[3].number;&lt;br /&gt;
 			whitePair[3].number = card[4].number;&lt;br /&gt;
 		}&lt;br /&gt;
 		return true;&lt;br /&gt;
 	}&lt;br /&gt;
 	else if(card[2].number==card[3].number)&lt;br /&gt;
 	{&lt;br /&gt;
 		if(turn==1)  //블랙 턴일 경우 &lt;br /&gt;
 		{&lt;br /&gt;
 			blackPair[0].number = card[2].number;&lt;br /&gt;
 			blackPair[1].number = card[0].number;&lt;br /&gt;
 			blackPair[2].number = card[1].number;&lt;br /&gt;
 			blackPair[3].number = card[4].number;&lt;br /&gt;
 		}&lt;br /&gt;
 		else&lt;br /&gt;
 		{&lt;br /&gt;
 			whitePair[0].number = card[2].number;&lt;br /&gt;
 			whitePair[1].number = card[0].number;&lt;br /&gt;
 			whitePair[2].number = card[1].number;&lt;br /&gt;
 			whitePair[3].number = card[4].number;&lt;br /&gt;
 		}&lt;br /&gt;
 		return true;&lt;br /&gt;
 	}&lt;br /&gt;
 	else if(card[3].number==card[4].number)&lt;br /&gt;
 	{&lt;br /&gt;
 		if(turn==1)  //블랙 턴일 경우 &lt;br /&gt;
 		{&lt;br /&gt;
 			blackPair[0].number = card[3].number;&lt;br /&gt;
 			blackPair[1].number = card[0].number;&lt;br /&gt;
 			blackPair[2].number = card[1].number;&lt;br /&gt;
 			blackPair[3].number = card[2].number;&lt;br /&gt;
 		}&lt;br /&gt;
 		else&lt;br /&gt;
 		{&lt;br /&gt;
 			whitePair[0].number = card[3].number;&lt;br /&gt;
 			whitePair[1].number = card[0].number;&lt;br /&gt;
 			whitePair[2].number = card[1].number;&lt;br /&gt;
 			whitePair[3].number = card[2].number;&lt;br /&gt;
 		}&lt;br /&gt;
 		return true;&lt;br /&gt;
 	}&lt;br /&gt;
 	return false;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 ////////////////////////////////// 플러시 결정 //////////////////////////////////&lt;br /&gt;
 &lt;br /&gt;
 bool isFlush(Poker *card)&lt;br /&gt;
 {&lt;br /&gt;
 	for(i=1; i&amp;amp;lt;5; i++)&lt;br /&gt;
 		if(card[i].color!=card[i-1].color)&lt;br /&gt;
 			return false;&lt;br /&gt;
 	return true;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 ///////////////////////////////// 스트레이트 결정 ////////////////////////////////&lt;br /&gt;
 &lt;br /&gt;
 bool isStreit(Poker *card)&lt;br /&gt;
 {&lt;br /&gt;
 	for(i=1; i&amp;amp;lt;5; i++)&lt;br /&gt;
 		if(card[i].number != card[i-1].number-1)&lt;br /&gt;
 			return false;&lt;br /&gt;
 	return true;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 /////////////////////////////// 카드 우선 순위 결정 /////////////////////////////////&lt;br /&gt;
 &lt;br /&gt;
 int cardpower(Poker *card, int turn)&lt;br /&gt;
 {&lt;br /&gt;
 	if(isStreit(card) &amp;amp;amp;&amp;amp;amp; isFlush(card))&lt;br /&gt;
 		return 1;&lt;br /&gt;
 	else if(isFourCard(card, turn))&lt;br /&gt;
 		return 2;&lt;br /&gt;
 	else if(isFullHouse(card, turn))&lt;br /&gt;
 		return 3;&lt;br /&gt;
 	else if(isFlush(card))&lt;br /&gt;
 		return 4;&lt;br /&gt;
 	else if(isStreit(card))&lt;br /&gt;
 		return 5;&lt;br /&gt;
 	else if(isThreeCard(card, turn))&lt;br /&gt;
 		return 6;&lt;br /&gt;
 	else if(isTwoPair(card, turn))&lt;br /&gt;
 		return 7;&lt;br /&gt;
 	else if(isOnePair(card, turn))&lt;br /&gt;
 		return 8;&lt;br /&gt;
 	else &lt;br /&gt;
 		return 9;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 /////////////////////////////// 큰수 결정 ///////////////////////////////&lt;br /&gt;
 &lt;br /&gt;
 int decideBigger(Poker *card1, Poker *card2)&lt;br /&gt;
 {&lt;br /&gt;
 	for(i=0; i&amp;amp;lt;5; i++)&lt;br /&gt;
 	{&lt;br /&gt;
 		if(card1[i].number&amp;amp;gt;card2[i].number)&lt;br /&gt;
 			return 1;&lt;br /&gt;
 		else if(card1[i].number&amp;amp;lt;card2[i].number)&lt;br /&gt;
 			return -1;&lt;br /&gt;
 	}&lt;br /&gt;
 	return 0;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 /////////////////////////////////// 승자 결정 ///////////////////////////////////&lt;br /&gt;
 &lt;br /&gt;
 int decideWinner()&lt;br /&gt;
 {&lt;br /&gt;
 	if(cardpower(black, 1)&amp;amp;lt;cardpower(white, 2))&lt;br /&gt;
 		return 1;&lt;br /&gt;
 	else if(cardpower(black, 1)&amp;amp;gt;cardpower(white, 2))&lt;br /&gt;
 		return -1;&lt;br /&gt;
 	else&lt;br /&gt;
 	{&lt;br /&gt;
 		if(cardpower(black, 1)==1 || cardpower(black, 1)==4 || cardpower(black, 1)==5 || cardpower(black, 1)==9)&lt;br /&gt;
 			return decideBigger(black, white);&lt;br /&gt;
 		else &lt;br /&gt;
 			return decideBigger(blackPair, whitePair);&lt;br /&gt;
 	}&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 int main()&lt;br /&gt;
 {&lt;br /&gt;
 	while(input())&lt;br /&gt;
 	{&lt;br /&gt;
 		for(i=0; i&amp;amp;lt;5; i++)&lt;br /&gt;
 		{&lt;br /&gt;
 			blackPair[i].number=0;&lt;br /&gt;
 			whitePair[i].number=0;&lt;br /&gt;
 		}&lt;br /&gt;
 		int result = decideWinner();&lt;br /&gt;
 		if(result==1)&lt;br /&gt;
 			cout &amp;amp;lt;&amp;amp;lt;&amp;quot;Black wins.&amp;quot; &amp;amp;lt;&amp;amp;lt;endl;&lt;br /&gt;
 		else if(result==-1)&lt;br /&gt;
 			cout &amp;amp;lt;&amp;amp;lt;&amp;quot;White wins.&amp;quot; &amp;amp;lt;&amp;amp;lt;endl;&lt;br /&gt;
 		else&lt;br /&gt;
 			cout &amp;amp;lt;&amp;amp;lt;&amp;quot;Tie.&amp;quot;&amp;amp;lt;&amp;amp;lt;endl;&lt;br /&gt;
 	}&lt;br /&gt;
 	return 0;&lt;br /&gt;
 }&lt;/div&gt;</summary>
		<author><name>imported&gt;Unknown</name></author>
	</entry>
</feed>