本文主要是介绍POJ 1786 Bridge Hands G++,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
#include <iostream>
#include <cstdio>
#include <string>
#include <vector>
#include <algorithm>
#include <cstring>
using namespace std;
//英语 看博友分析 抄博友程序 模拟 用vector POJ 超时
int fun(char s)
{if(s=='S'){return 0;}else if(s=='W'){return 1;}else if(s=='N'){return 2;}else if(s=='E'){return 3;}
}
char pai[200];
int hua(char c)
{if(c=='C'){return 1;}else if(c=='D'){return 2;}else if(c=='S'){return 3;}else if(c=='H'){return 4;}
}
int dian(char c)
{if(c=='T'){return 10;}else if(c=='J'){return 11;}else if(c=='Q'){return 12;}else if(c=='K'){return 13;}else if(c=='A'){return 14;}else {return c-'0';}
}
struct nod{char h;char d;
}da[4][13];
//vector<nod> da[4];
bool cmp(nod a,nod b)
{if(hua(a.h)==hua(b.h)){return dian(a.d)<dian(b.d);}else{return hua(a.h)<hua(b.h);}
}
int main()
{char s;while(cin>>s){//cout<<s<<endl;if(s=='#'){break;}//for (int i=0;i<4;i++) da[i].clear();//初始化 int fa=fun(s);fa++;//cout<<fa<<endl;//scanf("%s",pai);//scanf("%s",pai+52);/*for(int i=0;i<strlen(pai);i=i+2){da[fa%4].push_back((nod){pai[i],pai[i+1]});fa++;}*/for(int i=0;i<13;i++){for(int j=0;j<4;j++){cin>>da[fa%4][i].h>>da[fa%4][i].d;fa++; }}for(int i=0;i<4;i++){sort(da[i],da[i]+13,cmp);}//cout<<da[0].size()<<endl;/* for(int i=0;i<4;i++){for(int j=0;j<13;j++){cout<<da[i][j].h<<da[i][j].d<<" ";}cout<<endl;}*/for(int i=0;i<4;i++){if(i==0){cout<<"South player:"<<endl;}else if(i==1){cout<<"West player:"<<endl;}else if(i==2){cout<<"North player:"<<endl;}else if(i==3){cout<<"East player:"<<endl;}cout<<"+---+---+---+---+---+---+---+---+---+---+---+---+---+"<<endl;for(int j=0;j<13;j++){cout<<"|"<<da[i][j].d<<" "<<da[i][j].d;if(j==12){cout<<"|"<<endl;}}for(int j=0;j<13;j++){cout<<"| "<<da[i][j].h<<" ";if(j==12){cout<<"|"<<endl;}}for(int j=0;j<13;j++){cout<<"|"<<da[i][j].d<<" "<<da[i][j].d;if(j==12){cout<<"|"<<endl;}} cout<<"+---+---+---+---+---+---+---+---+---+---+---+---+---+"<<endl; }cout<<endl;}return 0;
}
这篇关于POJ 1786 Bridge Hands G++的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!