扑克游戏
来源:互联网 发布:淘宝 处方药购买流程 编辑:程序博客网 时间:2024/05/17 08:27
题目描述 Problem Description
著名的阳姐•查兰•伊丽莎白一世因为治理国家太有方了, 最近国泰民安, 阳姐就只能和大黄或者小昊开始玩扑克游戏了。
这个扑克游戏的规则是这样的。 首先, 弄出
输入描述 Input Description
输入第一行一个正整数
第二行顺次包含
输出描述 Output Description
输出第一行为“
输出第二行代表阳姐最高的得分。
输出第三行
输入样例 Sample Input
10
8 4 1 6 3 1 9 7 6 6
输出样例 Sample Output
WIN
28
1 10 8 6 4
分析 I Think
对于区间
代码 Code
#include <cstdio>#include <cstring>#include <algorithm>using namespace std;const int id[] = {-1,1};const int Size = 1010;int n;int f[Size][Size];int s[Size][Size];int sum;void display(int,int,bool);int main(){ scanf("%d",&n); for(int i=1;i<=n;++i) scanf("%d",&s[i][i]); for(int i=n-1;i>=1;--i) for(int j=i+1;j<=n;++j) s[i][j] = s[i][j-1]+s[j][j]; for(int i=1;i<=n;++i) f[i][i] = s[i][i]; for(int i=n-1;i>=1;--i) for(int j=i+1;j<=n;++j) f[i][j] = s[i][j]-min(f[i+1][j],f[i][j-1]); if(sum-f[1][n] > f[1][n]) printf("LOSE\n%d\n",f[1][n]); else printf("WIN\n%d\n",f[1][n]); display(1,n,true); return 0;}void display(int x,int y,bool flag){ if(x > y) return ; if(s[x][y]-f[x+1][y] == f[x][y]){ if(flag) printf("%d ",x); display(x+1,y,!flag); } else{ if(flag) printf("%d ",y); display(x,y-1,!flag); }}
- 扑克游戏
- 扑克游戏
- 扑克游戏
- 扑克游戏
- 扑克游戏
- 扑克游戏
- 扑克游戏
- 扑克游戏
- 扑克游戏
- 扑克游戏
- Java编程扑克游戏
- java.扑克游戏
- Java 扑克游戏
- 21点扑克游戏
- 单机扑克游戏设计
- 简单扑克游戏
- 扑克游戏点记
- 24点扑克游戏
- Android中跨进程通讯 4大组件
- 【JAVA】挂起、恢复和停止线程的示例代码
- docker login CA认证问题/添加自签发的 SSL 证书为受信任的根证书
- java集合的简要体系结构
- ogg同构安装
- 扑克游戏
- android学习—— context 和 getApplicationContext()
- oracle分区拆分
- App在iOS9上不能分享至微信,提示微信没有安装
- java 二叉树(六)查找二叉树一个节点的双亲节点
- 无废话WCF入门教程二[WCF应用的通信过程]
- 统计学习方法——CART, Bagging, Random Forest, Boosting
- matplotlib中文显示问题
- iOS常见枚举类型