#include <iostream> 
#include <vector> 
#include <string> 
#include <sstream> 
#include <map> 
using  namespace  std; 
 
 
 
class  Card { 
	public : 
		Card( int  value, string suit) { 
			this  - >  value =  value; 
			this  - >  suit =  suit;  //5-1 
		} 
		int  getS( )  /*getScore*/ { 
			map< string, int > suitCode =  { { "spade" ,4 } ,{ "heart" ,3 } , { "diamond" ,2 } , { "club" ,1 } } ; 
			int  score; 
			score =  value* 10  + suitCode[ suit] ;  // 5-2 
			return  score; 
		} 
	private : 
		int  value; 
		string suit; 
} ; 
class  Player{ 
	public : 
		Player( ) { 		} 
		int  getRank( ) { 
			int  rank, i; 
			rank =  0 ; 
			for ( i= 0 ;  i< cards.size ( ) ;  i++ ) { 
				rank + =  cards;  //5-3 
			} 
			return  rank; 
		} 
		void  addCard( Card * card) { 
			cards.push_back ( card) ; 
		} 
	private : 
		vector< Card* > cards; 
} ; 
 
class  PokerGame{ 
	public : 
		PokerGame( ) { 		} 
		void  deal( vector< Card* >  inCards) { 
			int  ( ) ; 
			int  i; 
			for  ( i= 0 ;  i< inCards.size ( ) ;  i+ = 2 ) { 
				human inCards[ i] ;  //5-4 
				computer inCards[ ++ i] ;  //5-5 
			} 
		} 
		string play( ) { 
			stringstream ss1, ss2; 
			string s1, s2, result; 
			ss1<<  human - >  getRank( ) ;  ss1>> s1; 
			ss2<<  computer- > getRank( ) ;  ss2>> s2; 
			result =  "Player="  +  s1 + ",Computer=" +  s2; 
			if  ( s1> s2)   //5-6 
				result + = ", Player Win. \n " ; 
			else  if  ( s1< s2) 
				result + = ", Computer Win. \n " ; 
			else  result + =  ", Push.\n " ; 
			return  result; 
		} 
	private : 
		Player * human,* computer; 
		void  init( ) { 
			human =  new  Player( ) ; 
			computer =  new  Player( ) ; 
		} 
} ; 
 
void  testPokerGame( ) { 
	PokerGame game; 
	vector< Card* > inCards1 =  { new  Card( 5 ,"spade" ) ,new  Card( 6 ,"spade" ) } ; 
	vector< Card* > inCards2 =  { new  Card( 5 ,"spade" ) ,new  Card( 6 ,"spade" ) ,new  Card( 5 ,"heart" ) ,new  Card( 6 ,"heart" ) } ; 
	vector< Card* > inCards3 =  { new  Card( 9 ,"spade" ) ,new  Card( 9 ,"club" ) ,new  Card( 8 ,"diamond" ) ,new  Card( 8 ,"heart" ) } ; 
	game.deal ( inCards1) ; 
	cout << game.play ( ) ; 
	game.deal ( inCards2) ; 
	cout << game.play ( ) ; 
	game.deal ( inCards3) ; 
	cout << game.play ( ) ; 
} 
 
int  main( ) { 
	testPokerGame( ) ; 
	return  0 ; 
} 
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8dmVjdG9yPgojaW5jbHVkZSA8c3RyaW5nPgojaW5jbHVkZSA8c3N0cmVhbT4KI2luY2x1ZGUgPG1hcD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKIAogCiAKY2xhc3MgQ2FyZCB7CglwdWJsaWM6CgkJQ2FyZChpbnQgdmFsdWUsIHN0cmluZyBzdWl0KXsKCQkJdGhpcyAtPiB2YWx1ZSA9IHZhbHVlOwoJCQl0aGlzIC0+IHN1aXQgPSBzdWl0OyAvLzUtMQoJCX0KCQlpbnQgZ2V0UygpIC8qZ2V0U2NvcmUqL3sKCQkJbWFwPHN0cmluZywgaW50PnN1aXRDb2RlID0ge3sic3BhZGUiLDR9LHsiaGVhcnQiLDN9LCB7ImRpYW1vbmQiLDJ9LCB7ImNsdWIiLDF9fTsKCQkJaW50IHNjb3JlOwoJCQlzY29yZSA9IHZhbHVlKjEwICtzdWl0Q29kZVtzdWl0XTsgLy8gNS0yCgkJCXJldHVybiBzY29yZTsKCQl9Cglwcml2YXRlOgoJCWludCB2YWx1ZTsKCQlzdHJpbmcgc3VpdDsKfTsKY2xhc3MgUGxheWVyewoJcHVibGljOgoJCVBsYXllcigpewkJfQoJCWludCBnZXRSYW5rKCl7CgkJCWludCByYW5rLCBpOwoJCQlyYW5rID0gMDsKCQkJZm9yKGk9MDsgaTxjYXJkcy5zaXplKCk7IGkrKyl7CgkJCQlyYW5rICs9IGNhcmRzOyAvLzUtMwoJCQl9CgkJCXJldHVybiByYW5rOwoJCX0KCQl2b2lkIGFkZENhcmQoQ2FyZCAqY2FyZCl7CgkJCWNhcmRzLnB1c2hfYmFjayhjYXJkKTsKCQl9Cglwcml2YXRlOgoJCXZlY3RvcjxDYXJkKj5jYXJkczsKfTsKIApjbGFzcyBQb2tlckdhbWV7CglwdWJsaWM6CgkJUG9rZXJHYW1lKCl7CQl9CgkJdm9pZCBkZWFsKHZlY3RvcjxDYXJkKj4gaW5DYXJkcyl7CgkJCWludCAoKTsKCQkJaW50IGk7CgkJCWZvciAoaT0wOyBpPGluQ2FyZHMuc2l6ZSgpOyBpKz0yKXsKCQkJCWh1bWFuIGluQ2FyZHNbaV07IC8vNS00CgkJCQljb21wdXRlciBpbkNhcmRzWysraV07IC8vNS01CgkJCX0KCQl9CgkJc3RyaW5nIHBsYXkoKXsKCQkJc3RyaW5nc3RyZWFtIHNzMSwgc3MyOwoJCQlzdHJpbmcgczEsIHMyLCByZXN1bHQ7CgkJCXNzMTw8IGh1bWFuIC0+IGdldFJhbmsoKTsgc3MxPj5zMTsKCQkJc3MyPDwgY29tcHV0ZXItPmdldFJhbmsoKTsgc3MyPj5zMjsKCQkJcmVzdWx0ID0gIlBsYXllcj0iICsgczEgKyIsQ29tcHV0ZXI9IisgczI7CgkJCWlmIChzMT5zMikgIC8vNS02CgkJCQlyZXN1bHQgKz0iLCBQbGF5ZXIgV2luLiBcbiI7CgkJCWVsc2UgaWYgKHMxPHMyKQoJCQkJcmVzdWx0ICs9IiwgQ29tcHV0ZXIgV2luLiBcbiI7CgkJCWVsc2UgcmVzdWx0ICs9ICIsIFB1c2guXG4iOwoJCQlyZXR1cm4gcmVzdWx0OwoJCX0KCXByaXZhdGU6CgkJUGxheWVyICpodW1hbiwqY29tcHV0ZXI7CgkJdm9pZCBpbml0KCl7CgkJCWh1bWFuID0gbmV3IFBsYXllcigpOwoJCQljb21wdXRlciA9IG5ldyBQbGF5ZXIoKTsKCQl9Cn07CiAKdm9pZCB0ZXN0UG9rZXJHYW1lKCl7CglQb2tlckdhbWUgZ2FtZTsKCXZlY3RvcjxDYXJkKj5pbkNhcmRzMSA9IHtuZXcgQ2FyZCg1LCJzcGFkZSIpLG5ldyBDYXJkKDYsInNwYWRlIil9OwoJdmVjdG9yPENhcmQqPmluQ2FyZHMyID0ge25ldyBDYXJkKDUsInNwYWRlIiksbmV3IENhcmQoNiwic3BhZGUiKSxuZXcgQ2FyZCg1LCJoZWFydCIpLG5ldyBDYXJkKDYsImhlYXJ0Iil9OwoJdmVjdG9yPENhcmQqPmluQ2FyZHMzID0ge25ldyBDYXJkKDksInNwYWRlIiksbmV3IENhcmQoOSwiY2x1YiIpLG5ldyBDYXJkKDgsImRpYW1vbmQiKSxuZXcgQ2FyZCg4LCJoZWFydCIpfTsKCWdhbWUuZGVhbChpbkNhcmRzMSk7Cgljb3V0PDxnYW1lLnBsYXkoKTsKCWdhbWUuZGVhbChpbkNhcmRzMik7Cgljb3V0PDxnYW1lLnBsYXkoKTsKCWdhbWUuZGVhbChpbkNhcmRzMyk7Cgljb3V0PDxnYW1lLnBsYXkoKTsKfQogCmludCBtYWluKCl7Cgl0ZXN0UG9rZXJHYW1lKCk7CglyZXR1cm4gMDsKfQ==