ACM篇:POJ 1786--Bridge Hands
来源:互联网 发布:淘宝网地板棉拖鞋 编辑:程序博客网 时间:2024/06/05 15:49
恶心的模拟
#include <iostream>#include <cstdio>#include <cctype>#include <algorithm>#include <cstring>using namespace std;struct Card{ int suit; int rank;} card[4][13];int p_cur[4];int _turn(int t, bool is_player, bool is_in, bool is_suit);bool _cmp(Card a, Card b);void _print(Card s[], int kase);int main(){ int t; while (t=getchar()) { if (t == ' ' || t == '\n') continue; if (t == '#') return 0; int ch; int cur = (_turn(t, true, false, false) + 1) % 4; memset(card, 0, sizeof(card)); memset(p_cur, 0, sizeof(p_cur)); // input int cnt = 0; while (ch=getchar()) { if (ch == '\n' || ch == ' ') continue; else { card[cur][p_cur[cur]].suit = _turn(ch, false, true, false); card[cur][p_cur[cur]].rank = _turn(getchar(), false, true, false); p_cur[cur]++; cur = (cur+1) % 4; if (++cnt == 52) break; } } // sort for (int i = 0; i < 4; i++) sort(card[i], card[i]+13, _cmp); // print for (int i = 0; i < 4; i++) _print(card[i], i); putchar('\n'); } return 0;}const char PLAYER[] = "SWNE";const char SUITS[] = "CDSH";const char RANKS[] = " 23456789TJQKA" ;int _turn(int t,bool is_player, bool is_in, bool is_suit){ if (is_player) { for (int i = 0; PLAYER[i] != '\0'; i++) { if (t == PLAYER[i]) return i; } } else if (is_in) { for (int i = 0; SUITS[i] != '\0'; i++) { if (t == SUITS[i]) return i; } for (int i = 0; RANKS[i] != '\0'; i++) { if (t == RANKS[i]) return i; } } else { if (is_suit) return SUITS[t]; else return RANKS[t]; }}bool _cmp(Card a, Card b){ if (a.suit != b.suit) return (a.suit < b.suit); else return (a.rank < b.rank);}const char player_name[][16] = {"South player", "West player", "North player", "East player"};void _print(Card s[], int kase){ printf("%s:\n", player_name[kase]); for (int i = 1; i <= 5; i++) { for (int j = 1; j <= 53; j++) { if (i == 1 || i == 5) { if(j%4 == 1) putchar('+'); else putchar('-'); } else if (i == 2 || i == 4) { if (j % 4 == 1) putchar('|'); else if(j % 4 == 3) putchar(' '); else putchar(_turn(s[(j-1)/4].rank, false, false, false)); } else { if (j % 4 == 1) putchar('|'); else if(j % 4 == 3) putchar(_turn(s[(j-1)/4].suit, false, false, true)); else putchar(' '); } } putchar('\n'); }}
0 0
- ACM篇:POJ 1786--Bridge Hands
- Poj 1786 Bridge Hands
- poj 1786 Bridge Hands
- POJ 1786Bridge Hands
- poj 1786 Bridge Hands
- POJ 1786 Bridge Hands 笔记
- UVa555 - Bridge Hands
- POJ 3283 Card Hands
- POJ-3283 Card Hands
- sdutoj 1101 Bridge Hands (桥牌)
- POJ 3283 Card Hands 可能会
- POJ 3283 Card Hands Trie树
- POJ-2573-Bridge
- POJ 2573 Bridge 贪心
- poj 2573 bridge
- Bridge Across Islands POJ
- 一道狗血的ACM题:Poker Hands
- ACM篇:POJ 4001 -- Xiangqi
- 印度国有企业抵制压力帮助银行坏账
- 如何从数据库中选出最热的十个检索词
- oracle 12c on oracle Linux-rac安装配置手册
- Java BigDecimal 一些注意点
- 拓扑排序
- ACM篇:POJ 1786--Bridge Hands
- activemq 控制面板里的 Number Of Pending Messages、 Messages Enqueued、Messages Dequeued含
- go 打印当前时间
- shareSDK
- 2.非模态对话框的创建
- API 25 (Android 7.1.1 API) view.TextureView
- ionic 套接字只允许一次
- java 实现Leetcode Container With Most Water
- Fiddler抓包配置