POJ 1786

题意:给定牌的顺序,然后依次摸牌,最后对每个人的手牌排序输出。

View Code
 1 #include<cstdio>

 2 #include<cstring>

 3 #include<algorithm>

 4 using namespace std;

 5 int po[4][14],mp[300];

 6 char getch[500];

 7 void print_1(int a[])

 8 {

 9     for(int i=0;i<13;i++)

10         printf("|%c %c",getch[a[i]%100],getch[a[i]%100]);

11     printf("|\n");

12 }

13 void print_2(int a[])

14 {

15     for(int i=0;i<13;i++)

16         printf("| %c ",getch[a[i]/100*100]);

17     printf("|\n");

18 }

19 char ss[4][20]={"East player:","South player:","West player:","North player:"};

20 int main()

21 {

22     char s[70];

23     char f[2];

24     mp['C']=100,mp['D']=200,mp['S']=300,mp['H']=400;

25     getch[100]='C',getch[200]='D',getch[300]='S',getch[400]='H';

26     for(int i=2;i<=9;i++)

27         mp[i+'0']=i,getch[i]=i+'0';

28     mp['T']=10,mp['J']=11,mp['Q']=12,mp['K']=13,mp['A']=14;

29     getch[10]='T',getch[11]='J',getch[12]='Q',getch[13]='K',getch[14]='A';

30     bool first=true;

31     while(scanf("%s",f),f[0]!='#')

32     {

33         if(first)

34             first=false;

35         else

36             printf("\n");

37         getchar();

38         gets(s);

39         int pos;

40         if(f[0]=='N')

41             pos=0;

42         else if(f[0]=='E')

43             pos=1;

44         else if(f[0]=='S')

45             pos=2;

46         else

47             pos=3;

48         for(int i=0;i<26;i++)

49         {

50             po[(pos+i)%4][i/4]=mp[s[i*2]]+mp[s[i*2+1]];

51         }

52         gets(s);

53         for(int i=26;i<52;i++)

54         {

55             po[(pos+i)%4][i/4]=mp[s[(i-26)*2]]+mp[s[(i-26)*2+1]];

56         }

57         for(int i=0;i<4;i++)

58             sort(po[i],po[i]+13);

59         for(int i=1;i<=4;i++)

60         {

61             printf("%s\n",ss[i%4]);

62             printf("+---+---+---+---+---+---+---+---+---+---+---+---+---+\n");

63             print_1(po[i%4]);

64             print_2(po[i%4]);

65             print_1(po[i%4]);

66             printf("+---+---+---+---+---+---+---+---+---+---+---+---+---+\n");

67         }

68     }

69     return 0;

70 }

你可能感兴趣的:(poj)