30 你好,赢家!

引言

我像一个街头酒馆掌柜,把自认为最好的佳肴和美酒毫无保留地摆在桌子上,但愿你已经酒足饭饱。接下来,是上甜品的时候了。我对你还有最后几点叮嘱。

即使讲的概率、算法、思维,你全都忘了,记住这几点叮嘱,我相信也够用了。

人生的两类问题

第一点叮嘱

我们大多数人,一生中需要解决的难题,
其实就是两类:一类是有边界的问题,还有一类是没有边界的问题。

有边界的问题
这类问题在我们人生中,是在读书阶段大量出现的。
它讨论的环境很简单,类似于实验环境,是象牙塔里的问题。题目很难,解答过程也很复杂,但是总有标准答案。

我们传统的应试教育,其实一直都在锻炼你解答这类题目。

没有边界的问题
当你踏出校门走上真实世界,社会上几乎都是这类问题等着你。看起来没什么,但情况很复杂,需要你理清头绪,权衡利弊,在不确定的状态下作选择,也没有标准答案。

可惜,这一类问题在我们的教育体系里是缺失的,没有人教我们如何解答。
做投资的人特别爱玩德州扑克,因为对他们而言,无论是做投资还是打德州,都是在解决没有边界的不确定问题。

给你的第一点嘱咐就是,人生是一场没有边界的游戏,充满了不确定性。你不要试图躲在“确定性”的幻想中,也不要指望你够聪明,够努力,就一定会有回报。

第二点嘱咐

  • 向扑克高手学的第一课:你要认识到,解决现实世界的问题,分可计算和不可计算两部分。
  • 向扑克高手学的第二课,我们要学习:怎么区分哪些可计算,哪些不可计算?

当你赢了的时候,你可以跟别人说“我运气真好”;当你输了的时候,别怪“运气差”或者“差一点儿”,而是从技术角度去反思。

第三点嘱咐

你要不断提升,可计算部分的决策能力

决策水平的五个级别:

  1. 依靠直觉;
  2. 主动思考后,在几个方案里作选择;
  3. 用决策树,形成了概率化、结构化的认知;
  4. 形成了可重复的算法。
  5. 通过贝叶斯持续更新你的决策算法。

小结

  1. 在互联网时代,一线城市和三线城市不是根据一个人的所在地区分的,而是根据一个人与这个世界的链接深度区分的。换而言之,一个在三线城市的人,也可以跻身于这个世界的一线。
  2. 爱你的家挺,对你身边的人好,并不会束缚你,反而会让你更有力量,更理性
  3. 不管从事什么,即使你主动或者被动做这个工作,请努力爱上这个工作。
  4. 最好的学习场地是工作场所,而不是网络,阅读,吹牛,把你学到的东西应用于工作,别在意干的太多,也别介意短期没有回报
  5. 假如不擅长表达,试着多去锻炼,要从你自己的内心打开锁。
### 超市赢家 C语言实现方案 在设计一个名为“超市赢家”的游戏或程序时,可以借鉴五子棋和扫雷的游戏逻辑。以下是基于给定引用内容以及扩展的知识构建的一个可能的解决方案。 #### 游戏概述 假设“超市赢家”是一个两人轮流进行的游戏,在游戏中玩家通过购买商品累积分数,最终得分最高的玩家获胜。如果所有商品都被买光而没有人达到预设的胜利条件,则判定为平局。 --- #### 数据结构定义 为了模拟超市环境,我们需要以下几个数据结构: 1. **商品列表** 使用二维数组表示货架上的商品及其价格。 2. **玩家状态** 记录每位玩家当前的总分。 3. **胜负判断函数** 判断是否有玩家赢得比赛或者是否进入平局状态。 ```c #define MAX_ROWS 10 // 商品的最大行数 #define MAX_COLS 10 // 商品的最大列数 // 定义商品的价格矩阵 int goods[MAX_ROWS][MAX_COLS]; char board[MAX_ROWS][MAX_COLS]; // 表示商品被选中的情况 ('*' 表示未选中, 'X' 和 'O' 分别代表两个玩家) // 玩家分数 int player1_score = 0; int player2_score = 0; // 当前回合计数器 int turn_count = 0; ``` --- #### 初始化超市货架 初始化商品价格并显示初始货架布局。 ```c void InitializeSupermarket() { int i, j; srand(time(0)); // 随机种子 for (i = 0; i < MAX_ROWS; ++i) { for (j = 0; j < MAX_COLS; ++j) { goods[i][j] = rand() % 10 + 1; // 设置随机价格范围为1到10 board[i][j] = '*'; // '*' 表示该位置的商品尚未被选择 } } } void DisplaySupermarket() { int i, j; printf("------- Supermarket -------\n"); for (i = 0; i <= MAX_COLS; ++i) { printf("%d ", i); } printf("\n"); for (i = 0; i < MAX_ROWS; ++i) { printf("%d ", i); for (j = 0; j < MAX_COLS; ++j) { if (board[i][j] != '*') { printf("%c ", board[i][j]); } else { printf("$%d ", goods[i][j]); // 显示商品价格 } } printf("\n"); } printf("---------------------------\n"); } ``` --- #### 玩家操作 允许玩家输入他们想要购买的商品的位置,并更新相应的分数和货架状态。 ```c void PlayerTurn(int playerId) { int row, col; char symbol = (playerId == 1) ? 'X' : 'O'; do { printf("Player %d's Turn! Enter the position to buy (row col): ", playerId); scanf("%d%d", &row, &col); if (row >= 0 && row < MAX_ROWS && col >= 0 && col < MAX_COLS && board[row][col] == '*') { break; // 合法输入退出循环 } else { printf("Invalid move! Try again.\n"); } } while (1); // 更新货架状态 board[row][col] = symbol; // 增加对应玩家的分数 if (playerId == 1) { player1_score += goods[row][col]; } else { player2_score += goods[row][col]; } // 增加回合计数 turn_count++; } ``` --- #### 平局与胜负判断 当所有商品均已被购买时,检查是否存在胜者;如果没有则宣布平局。 ```c int IsGameOver() { if (turn_count == MAX_ROWS * MAX_COLS) { // 如果所有商品都被买了 return 1; } return 0; } void AnnounceResult() { if (player1_score > player2_score) { printf("Player 1 wins with a score of %d!\n", player1_score); } else if (player2_score > player1_score) { printf("Player 2 wins with a score of %d!\n", player2_score); } else { printf("It's a draw! Both players scored %d points.\n", player1_score); } } ``` --- #### 主流程控制 将上述功能组合成完整的主程序。 ```c #include <stdio.h> #include <stdlib.h> #include <time.h> int main() { InitializeSupermarket(); while (!IsGameOver()) { DisplaySupermarket(); PlayerTurn(1); // 玩家一行动 if (!IsGameOver()) { DisplaySupermarket(); PlayerTurn(2); // 玩家二行动 } } AnnounceResult(); // 结束后公布结果 return 0; } ``` --- ### 总结 以上代码实现了“超市赢家”的基本框架,包括初始化、玩家交互、胜负和平局判断等功能[^4]。可以根据实际需求进一步优化界面展示效果或增加更多规则。 ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值