poj 2200 A Card Trick(模拟)
来源:互联网 发布:网络买彩票 编辑:程序博客网 时间:2024/05/21 22:31
http://poj.org/problem?id=2200
简单模拟。比赛时没找到队友的错误,取余的时候没特判。应该A的。可惜那。。
#include <stdio.h>#include <string.h>#include <algorithm>using namespace std;char card[5][10];struct node{ char s[10];}st[5];int cal(char s[]){ if(strlen(s) == 3) return 10; if(s[0] >= '2' && s[0] <= '9') return s[0]-'0'; if(s[0] == 'A') return 1; if(s[0] == 'J') return 11; if(s[0] == 'Q') return 12; if(s[0] == 'K') return 13;}int cmp(struct node t1, struct node t2){ int a1 = cal(t1.s); int a2 = cal(t2.s); if(a1 == a2) return t1.s[strlen(t1.s)-1] < t2.s[strlen(t2.s)-1]; return a1 < a2;}void solve(){ int i,j; for( i = 0; i < 5; i++) { for( j = 0; j < 5; j++) { if(i != j && card[i][strlen(card[i])-1] == card[j][strlen(card[j])-1] ) { int cnt = 0; for(int k = 0; k < 5; k++) { if(k != i && k != j) strcpy(st[cnt++].s, card[k]); } sort(st,st+cnt,cmp); int a1 = cal(card[i]); int a2 = cal(card[j]); if( a1 == (a2+1)%13 || (a1 == 13&&a2 == 12) ) { printf("%s %s %s %s %s\n",card[i],card[j],st[0].s,st[1].s,st[2].s); break; } else if(a1 == (a2+2)%13 || (a1 == 13 && a2 == 11) ) { printf("%s %s %s %s %s\n",card[i],card[j],st[1].s,st[0].s,st[2].s); break; } else if(a1 == (a2+3)%13 || (a1 == 13 && a2 == 10) ) { printf("%s %s %s %s %s\n",card[i],card[j],st[1].s,st[2].s,st[0].s); break; } else if(a1 == (a2+4)%13 || (a1 == 13 && a2 == 9) ) { printf("%s %s %s %s %s\n",card[i],card[j],st[0].s,st[2].s,st[1].s); break; } else if(a1 == (a2+5)%13 || (a1 == 13 && a2 == 8) ) { printf("%s %s %s %s %s\n",card[i],card[j],st[2].s,st[0].s,st[1].s); break; } else if(a1 == (a2+6)%13 || (a1 == 13 && a2 == 7) ) { printf("%s %s %s %s %s\n",card[i],card[j],st[2].s,st[1].s,st[0].s); break; } } } if(j < 5) break; }}int main(){ int test; scanf("%d",&test); int item = 1; while(test--) { for(int i = 0; i < 5; i++) scanf("%s",card[i]); printf("Problem %d: ",item++); solve(); } return 0;}
0 0
- poj 2200 A Card Trick(模拟)
- ACM篇:POJ 2200 --A Card Trick
- POJ-3032 Card Trick【模拟】
- poj 3032.Card Trick
- POJ,3032,Card Trick
- poj 3032 Card Trick
- POJ 3032Card Trick
- POJ-3032 Card Trick
- POJ-3032 Card Trick
- 1018 A Card Trick
- 1018. A Card Trick
- NYOJ714 Card Trick 【队列模拟】
- POJ 一 3032 Card Trick
- E -- POJ 3032 Card Trick
- Sicily 1018. A Card Trick
- sicily 1018. A Card Trick
- POJ 3032 Card Trick(较好模拟题,双向队列deque)
- SPOJ 1108. Card Trick 模拟题
- 设计模式—结构型-Composite(组合)
- SEOer浅谈robots
- OK6410学习之裸板LED程序及RAM烧录
- 彻底征服<<指针数组和指向数组的指针>>
- 降低改版带来的风险
- poj 2200 A Card Trick(模拟)
- linux内核定时器
- poj1789
- 黑马程序员 Java面向对象——String类 StringBuffer类 StringBuiler类
- HDU 1013 Digital Roots
- GCC 参数
- poj3991(括号匹配-贪心)
- java -Xms -Xmx -XX:PermSize -XX:MaxPermSize
- ios 创建静态库