AcWing 1695. 果壳游戏

题目链接

题目描述:
为了消磨时光,奶牛 Bessie 和她的朋友 Elsie 喜欢玩一种她们在农业展览会上看到的游戏。
游戏准备阶段,Bessie 在桌子上放置三个倒置的坚果壳,1号坚果壳放在位置1,2号坚果壳放在位置2,3号坚果壳放在位置3。并在其中一个坚果壳下面藏了一块小的鹅卵石(至少她希望这是一块鹅卵石——她在一块牧场的地上找到的)。
随后 Bessie 会两两调换坚果壳,鹅卵石会随着坚果壳一起移动,同时 Elsie 试着去猜鹅卵石的位置。
奶牛们在农业展览会上看到的这个游戏的标准形式是玩家可以看到鹅卵石初始的位置,然后要求玩家猜所有交换完成之后鹅卵石最终的位置。
然而,现在奶牛们想要去进行这样一种玩法,Elsie 不知道鹅卵石的初始位置,同时她可以在每一次交换之后猜一下鹅卵石的位置。
Bessie 知道正确答案,在游戏结束后会给 Elsie 一个分数,等于她猜对的次数。
给定所有的交换和 Elsie 的猜测,但是不给出鹅卵石的初始位置,请求出 Elsie 最高可能获得的分数。

输入格式
输入的第一行包含一个整数 N,为交换的次数。
以下 N 行每行描述了游戏的一个回合,包含三个整数 a、b 和 g,表示 Bessie 交换了位置 a 和 b 的坚果壳,然后 Elsie 猜的是位置 g。
所有这三个数均为 1、2、3 之一,并且 a≠b。

输出格式
输出 Elsie 可以得到的最高分数。

数据范围
1≤N≤100
输入样例:

3
1 2 1
3 2 1
1 3 1

输出样例:

2

样例解释
在这个例子中,Elsie 最多可以获得 2 分。
如果鹅卵石开始时位于坚果壳 1 下面,那么她猜中了一次(最后一次)。
如果鹅卵石开始时位于坚果壳 2 下面,那么她猜中了两次(开始两次)。
如果鹅卵石开始时位于坚果壳 3 下面,那么她没有猜对任何一次。

思路:
玩游戏之前,1号位置放坚果壳1,2号位置放坚果壳2,3号位置放坚果壳3
石头放在某个位置上不动
游戏开始后,将两个坚果壳交换位置,然后猜石头在某个坚果壳下面,石头的位置是不动的。
如果某次交换后,猜石头在编号为 x 的坚果壳下面,只有石子位置在编号坚果为 x 的壳所在位置上的时候,才得分。
如果用 f[i] 保存编号为 i 的坚果壳的位置。猜编号为 x 的坚果壳,只有石子位置在 f[x] 的时候才得分。

AC代码

#include<bits/stdc++.h>
using namespace std;
int f[110],sum[110];
int main()
{int n;cin>>n;for(int i=1;i<=n;i++) f[i]=i;for(int i=1;i<=n;i++){int a,b,g;cin>>a>>b>>g;swap(f[a],f[b]); //交换坚果壳 a b后,a坚果壳放在了原来b坚果壳的位置,b坚果壳放在了原来 a 坚果壳的位置sum[f[g]]++;//猜在c坚果壳中,c 坚果壳的位置为 f[c], 所以只有石子位置为 f[c] 的情况下,猜 c 坚果壳才得分}}cout<<max({sum[1],sum[2],sum[3]})<<endl;return 0;
}

如果觉得写的还不错,点个赞吧 ^ v ^

AcWing 1695. 果壳游戏相关推荐

  1. AcWing 1695. 果壳游戏(模拟)

    题目:1695. 果壳游戏 题解:a[i]用于记录当前在第i个位置放置的是标号为a[i]的坚果壳.cnt[i]记录的是当前标号为i的坚果壳被选了cnt[i]次. #include<bits/st ...

  2. AcWing 1695 果壳游戏

    题目描述 为了消磨时光,奶牛 Bessie 和她的朋友 Elsie 喜欢玩一种她们在农业展览会上看到的游戏. 游戏准备阶段,Bessie 在桌子上放置三个倒置的坚果壳,1号坚果壳放在位置1,2号坚果壳 ...

  3. AcWing 1695 果壳游戏 题解(春季每日一题)

    有一些思维的简单模拟 原题 #include<bits/stdc++.h>using namespace std;const int N = 110;int n; int ans;//记录 ...

  4. 1695. 果壳游戏

    为了消磨时光,奶牛 Bessie 和她的朋友 Elsie 喜欢玩一种她们在农业展览会上看到的游戏. 游戏准备阶段,Bessie 在桌子上放置三个倒置的坚果壳,1号坚果壳放在位置1,2号坚果壳放在位置2 ...

  5. 【Acwing 219. 剪纸游戏】

    [Acwing 219. 剪纸游戏] 题意: 给定一张 N×M 的矩形网格纸,两名玩家轮流行动. 在每一次行动中,可以任选一张矩形网格纸,沿着某一行或某一列的格线,把它剪成两部分. 首先剪出 1×1 ...

  6. Acwing 1084. 数字游戏 II

    Acwing 1084. 数字游戏 II 题意: 指定一个整数闭区间 [a.b],问这个区间内有多少个取模数. 取模数:这种数字必须满足各位数字之和 mod N 为 0. 题解: 数位dp 这里不细讲 ...

  7. Acwing 1082. 数字游戏

    Acwing 1082. 数字游戏 题意: 现在大家决定玩一个游戏,指定一个整数闭区间 [a,b],问这个区间内有多少个不降数. 题解: 利用数位dp的套路来做 我们还是利用前缀和来做 我们先求1~n ...

  8. 果壳游戏(牛的游戏)

    果壳游戏 昨天是个非常糟糕的一天 但却有个非常非常幸运的事!!(居然昨天没发现555今天发现也很棒!) 10个AC币!!!(掉落概率非常非常非常小,平时都是0.0几的币) 太惊喜啦!! 哇啊啊啊啊啊啊 ...

  9. IDA* AcWing 181. 回转游戏

    IDA* AcWing 181. 回转游戏 原题链接 AcWing 181. 回转游戏 算法标签 搜索 IDA* 思路 本题采用 IDA* 算法,即迭代加深的 A* 算法. 估价函数: 统计中间8个方 ...

最新文章

  1. 加速 PyTorch 模型训练的 9 个技巧
  2. C# 在PDF中绘制动态图章
  3. 实时检测神经振荡可实现行为相关的神经反馈
  4. Downloading the Source
  5. 《多处理器编程的艺术》读书笔记(4)--- 自旋锁(1)
  6. 图像窗口方面 window
  7. Boost:排序的bimap双图的测试程序
  8. java instanceof 继承_继承_instanceOf的使用
  9. java web 开发基础_javaweb开发基础(一)
  10. MySQL之Variables(变量)
  11. 知道python吗_你知道什么是Python吗
  12. Portal: 西电捷通TISec®技术
  13. java实现 -- 模板方法模式 -- 旅游签证
  14. 启用SATA硬盘的AHCI模式解决X61速度慢的问题
  15. python读文件-read_csv()-常用参数
  16. MapReduce论文解读
  17. epub 电子书的制作
  18. 内存优化之一——内存优化工具参数详解
  19. MySQL数据库之GROUP BY用法
  20. IDS入侵检测系统与开源IDS-snort的安装与编写规则

热门文章

  1. Bonjour是什么
  2. order_by_、group_by_、having的用法区别
  3. 疫情将加速元宇宙办公进程,削弱实体办公|元宇宙科技
  4. pySpark 运行时出现 Permission denied: (权限问题)
  5. vue用form上传图片_Vue formData实现图片上传
  6. is not a class or namespace name解决方法
  7. matlab 离散偏微分,有限差分法求解偏微分方程MATLAB.doc
  8. python在地图上画路线_如何在python中绘制热地图(实例)
  9. 通用流程化应用审批单设计思路(一)
  10. 网卡收包流程分析(一)