POJ 1013--Counterfeit Dollar

红米K70 Root实战:Delta面具搭配澎湃OS,解锁后如何安全玩机并保留OTA更新能力? 本文详细介绍了红米K70在澎湃OS系统下使用Delta面具进行Root的完整流程,包括Bootloader解锁、Delta面具刷入、系统优化及OTA更新保留策略。通过实战指南和配置建议,帮助用户安全解锁设备潜力,同时保持系统稳定性与金融应用兼容性。 阅读详情

题意

题目的大概意思是,有A到L号硬币,其中有一个的重量与其他的不同,现通过三次比较来找出哪个硬币是重量不同的,以及它是较轻还是较重。

分析

因为一定有解,所以先假定每个硬币的权值为0,先统计所有硬币的Even, Up,Down状态。从Up状态中找到没有在Even时出现过的硬币,让剩下的每一个硬币的权值减1,然后从Down状态中找到没有在Even时出现过的硬币,让剩下下的每一个硬币的权值加1,最后权值绝对值最大的那个便是不同的硬币,权值为负则较轻,反之较重。
代码如下:
Memory: 212K Time: 0MS Length:53LINES

#include<iostream>
#include<string>
#include<map>
using namespace std;
void Distinct(const string & Even, const string& Up, const string& Down, map<char, int>& Suspect)
{
    for (string::size_type i = 0; i < Up.length(); ++i)
        if (Even.find(Up[i]) == string::npos)   Suspect[Up[i]]--;
    for (string::size_type i = 0; i < Down.length(); ++i)
        if (Even.find(Down[i]) == string::npos) Suspect[Down[i]]++;
};
int main()
{
    int Count = 0;
    cin >> Count;
    while (Count--)
    {
        string Even;
        string Up;
        string Down;
        map<char, int> Suspect;
        for (int i = 0; i < 3; ++i)
        {
            string First, Second, Third;
            cin >> First >> Second >> Third;
            if (Third == "even")    Even = Even + First + Second;
            else if (Third == "up")
            {
                Up += Second;
                Down += First;
            }
            else
            {
                Up += First;
                Down += Second;
            }
        }
        Distinct(Even, Up, Down, Suspect);
        char Key = Suspect.begin()->first;
        int Value = Suspect.begin()->second;
        for (map<char, int>::iterator iter = Suspect.begin(); iter != Suspect.end(); ++iter)
        {
            if (abs(iter->second) > abs(Value))
            {
                Key = iter->first;
                Value = iter->second;
            }
        }
        if (Value > 0)  cout << Key << " is the counterfeit coin and it is heavy." << endl;
        else        cout << Key << " is the counterfeit coin and it is light." << endl;
    }
    return 0;
}
Python DEAP 库深度解析:从基础架构到高级应用 DEAP 是一个基于 Python 的开源框架,专门用于实现和运行各种进化算法,旨在帮助用户轻松地构建和调整进化算法,用于解决各种优化和搜索问题。本节中,介绍了 DEAP 相较于其它进化计算框架的优势,以及 DEAP 中重要的工具 creator 和 Toolbox。 阅读详情

相关推荐

Landsat9 地表温度反演方法

landsat9地表温度反演及缺失值处理方法

xiangliu12345的博客 3916

Counterfeit Dollar(找硬币)

第一次做英文题,着实给我整的有点懵逼(毕竟四级是水过去的,这个学期也没打算考六级) 原题如下:OpenJudge - 15:Counterfeit Dollar 大致意思是通过三次比较结果,找12枚硬币中出现的一枚硬币(它可能较轻也可能较重) 但是不知道为什么oj死活不给过,我感觉没什么问题啊(黑人问号) 希望大佬能指点一下我这个菜比 #include<iostream> #include<stdio.h> #include<string.h> using n

rezeromy的博客 524

AXI VIP配置全指南:从报错到成功仿真的完整流程(Vivado 2023版)

本文详细解析了在Vivado 2023环境中配置AXI Verification IP(VIP)进行协议仿真的完整流程。针对常见的include和import报错问题,提供了具体的解决方案和代码示例,指导用户从IP核创建、参数化配置,到构建可工作的仿真测试平台,最终实现成功仿真。

gpt4scribbler的博客 233

POJ 1013--Counterfeit Dollar(假币问题)(枚举,假设)

POJ 1013–Counterfeit Dollar(假币问题)(枚举,假设) 描述 赛利有12枚银币。其中有11枚真币和1枚假币。假币看起来和真币没有区别,但是重量不同。但赛利不知道假币比真币轻还是重。于是他向朋友借了一架天平。朋友希望赛利称三次就能找出假币并且确定假币是轻是重。例如:如果赛利用天平称两枚硬币,发现天平平衡,说明两枚都是真的。如果赛利用一枚真币与另一枚银币比较,发现它比真币轻...

Rise 1538

数字音频接口之I2S总线协议详解

1、SDATA,也就是串行数据信号,使用二进制传输数字信号。请注意数据的传输形式为补码的方式2、例如音频的采样率是8K,一s内存采样8K个点,一个点包含一个左声道,一个右声道,所以LRCK是8K,BCLK是2×采样频率×采样位数3、同时双向(TX和RX)音频流:串行数据同步移位到时钟信号SCK和LRCK。在SCK的下降沿将TX数据写入SDOUT引脚,并在SCK的上升沿从SDIN引脚读取RX数据。始终首先发送最高有效位(MSB);TX和RX均可在主模式和从模式下使用。

卓学课堂 3万+

Reality Capture控制点修复/合并模型

通过增加控制点/修改对齐设置参数来修复模型被分为两个部分的解决方法

草履虫建模的博客 5239

Counterfeit Dollar

原题及翻译 Counterfeit Dollar 假币 Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 52569 Accepted: 16434 时限:1000毫秒 内存限制:10000K 提交总数:52569 接受:16434 Description 描述 Sally Jones has a dozen Voyage...

Alex 1830

第七天 Labview进阶(7.4 NI Vision简单使用)

NIVision机器视觉软件使用指南 摘要:NIVision是National Instruments推出的高效机器视觉软件,具有硬件无缝集成、图形化编程和工业级部署等优势。本文介绍了NIVision的安装步骤(需Vision Acquisition和Vision Development模块)及三个典型应用案例:1)实物检测通过IMAQCreate等模块实现物体识别与坐标定位;2)OCR检测利用IMAQOCR系列模块完成字符识别;3)几何模板匹配使用IMAQLearnGeometricPattern等模块实

weixin_38637405的博客 771

OpenJudge NOI 2.1 15:Counterfeit Dollar

OpenJudge NOI 2.1 15 Counterfeit Dollar假币莎莉琼斯有12枚航记银元,但是,只有其中的11个是真正的银元,有1枚是伪造的假币,尽管它的颜色和形状大小让它无法与真正的银元区分开来。这个假币与其他硬币的重量不同,但莎莉不知道它与其他硬币相比是更重还是更轻。幸运的是,莎莉有一个朋友借给了她一个十分精确的天平,这个朋友给了莎莉三次称重的机会来找出那个假币。例如,如果莎莉称两枚硬币且天平平衡,那么她就知道这两枚硬币是真的。现在,如果莎莉将其中一枚真硬币与第三个硬币称重,天平不平衡

君义NOIP的博客 970

继电保护原理1.2-反时限过流保护

反时限过流保护

让你爱上电路设计 1万+

MAVLink协议详解

MAVLink是为微型飞行器MAV(Micro Air Vehicle)设计的(LGPL)开源的通讯协议。是无人飞行器和地面站(Ground Control Station ,GCS)之间,以及无人飞行器之间通讯常用的协议。APM、PIXHAWK飞控,Mission Planner、QGroundControl地面站均使用了MAVLink协议进行通讯。 MAVLink源码下载地址(现已更新至v2.0):https://github.com/mavlink/qgroundcontrol   用户手册:ht

程序猿老樊的博客 7704

英语题目翻译——OJ_15: Counterfeit Dollar

题目:15:Counterfeit Dollar(OpenJudge - 15:Counterfeit Dollar) 翻译: Sally Jones有一打旅行者银币。然而,只有十一个硬币真银币,尽管颜色和大小与真正的银币没有什么区别,其中有一枚银币是假的。假币与其他硬币的重量不同,但Sally不知道它是比真币重还是轻。 幸运的是,Sally有个朋友借给她一个非常精确的天平。这位朋友允许Sally称重三次来找到那枚假币。举个例子,如果Sally称两枚硬币的重量,天平平衡,那么她就知道这两枚硬币是真的。

m0_64882565的博客 707

机器人环境仿真软件:Gazebo_(6).传感器仿真

通过 Gazebo 和 ROS,我们可以方便地配置和使用多种传感器,进行机器人环境的仿真和调试。传感器仿真不仅帮助我们验证和测试机器人的感知能力,还可以在真实部署前发现和解决潜在的问题。本节详细介绍了如何在 Gazebo 中配置激光雷达、摄像头、IMU、声纳和 GPS 传感器,并展示了如何在 ROS 中接收和处理这些传感器数据。此外,还介绍了多传感器融合的基本方法和调试工具,希望这些内容能对你的机器人仿真工作有所帮助。

kkchenjj的博客 1388

【思维】poj 1013 Counterfeit Dollar

/* poj 1013 Counterfeit Dollar 题意:一个案例包含三行,每行三个字符串,分别代表左边放的东西和右边放的东西,以及结果,让你分辨出哪个是假的。 题解:脑洞题, 如果even,那么这两边东西一定是真,真的物品我用较大的数表示,这里只有3个数据,100可以算大了。 如果up,那么要么左边东西有假的偏重,要么右边东西有假的偏轻。我们分别附上可能为假的权值(轻-1,重+1)。

学无纸巾 434

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

POJ 1013 — Counterfeit Dollar

题目大意 12枚硬币中只有1枚假币,假币比真币轻或者比真币重。用天平称了硬币三次,每次天平左边的硬币数都和右边的硬币数相等。问哪一枚硬币是假币并且确定假币是轻是重。 输入 第一行是测试数据组数n。每组数据有三行,分别表示三次称量的结果。硬币分别用A-L表示。每次称量的结果用三个字符串表示:天平左边的硬币 天平右边的硬币 天平状态。天平状态用”up”, “down”, “even”分别表示右端高、右...

进阶的少年 375

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

POJ-1013 Counterfeit Dollar

题目大意:一共有12个硬币,其中有且只有一个假币,假币可能轻一些也可能重一些。输入给定三组天平的称重结果,有三种状态:up(左边重)、even(一样重)、down(右边重)。三组状态能保证唯一确定假币,求假币是哪一个并且假币是轻还是重。 题目链接:http://poj.org/problem?id=1013 将题目转化为判定问题,依次假设12个硬币为假币,判断是否符合三次天平判定结果,知道找到

u011468264的专栏 861

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

POJ 1013 Counterfeit Dollar

POJ 1013 Counterfeit Dollar   算法解析:由于硬币只有12个且只有1个是假的(假的有轻的或重的两种情况),用穷举每种情况的方法(12*2=24种)结合三个判断条件就可以直接暴力解题了。我刚开始是分两步判断——先判断哪个硬币是假的,再判断是轻是重(此时穷举情况是12+2=14种)——但是发现这种情况会出现错误答案(例如ABCDEF GHIJKL up ABHLEF G

BlackLillian的专栏 525

[POJ][1013]Counterfeit Dollar

Description Sally Jones has a dozen Voyageur silver dollars. However, only eleven of the coins are true silver dollars; one coin is counterfeit even though its color and size make it indistinguis

软件工程学森 1503

POJ1013-Counterfeit Dollar(枚举)

POJ1013-Counterfeit Dollar(枚举) 题目链接 题目大意 有12枚硬币,其中有11枚真币和1枚假币,真币和假币重量不同,但不知道是真币重还是假币重,现在,用一架天平称了这些硬币三次,给你称量的结果,请你找出假币,并且确定假币是重还是轻。 Sample Input 1 ABCD EFGH even ABCI EFJK up ABIJ EFGH even Sample...

zxzxin的博客~ 395

POJ1013 Counterfeit Dollar

【题目分类】:模拟题 【题目大意】:

Array67的专栏 918

poj1013 Counterfeit Dollar

http://poj.org/problem?id=1013 12个硬币里有1个假币,枚举每一个硬币,如果它是轻或是重,则为假币。 那么如何判断它是轻或是重呢? 判断是轻:     假设它就是轻。然后由天平三次称量结果倒推:如果称量结果为up,则它一定在右边。如果称量结果为even,则它既不在左边,也不在右边。如果称量结果为down,则它一定在左边。上述都满足,则毫无疑问它就是轻。否则

ViolentLittleAngel的博客 600

POJ1013 Counterfeit Dollar(技巧)

题意: 有十二枚硬币,其中有一枚假币与其他真币重量不同,但不知道是轻是重,通过称量三次确定这枚硬币的字母代号 要点: 题目中没有说每次称量几枚硬币,所以用模拟非常复杂,这里有一个比较特别的技巧: 先如果天平是平衡的,那么对于的所以硬币肯定是真的,用一个数组存储将这些硬币剔除,后面计算时就不用考虑了。因为不知道假币是轻还是重,那么如果出现up和down,那么肯定这其中有假币,但是不知道是那边

SeasonJoe的博客 1616

POJ1013 Counterfeit Dollar

Sally Jones has a dozen Voyageur silver dollars. However, only eleven of the coins are true silver dollars; one coin is counterfeit even though its color and size make it indistinguishable from the re...

weixin_43244265的博客 184

poj 1013 Counterfeit Dollar

题目的意思是有12个币,其中一个是假的,假币可能比真币重,也可能轻。有一个天平,可以称三次,三次称那些硬币和称的结果已经给出来了,问你根据这个结果,那个币是假的,他是重还是轻。 首先,如果天平是even,毋庸置疑,每个币都是真的。剩下的难点就在于判断其他硬币是真是假。 先看一组数据 先看第一行 ABCD EFGH up 我们可以怀疑ABCD都可能是假币,而且是重的那个;或者EFGH都可能是假币,而...

Fawkess的博客 219
上一篇: POJ 1014--Dividing
下一篇: POJ 1012--Joseph
Hering_Linux
博客等级 码龄12年 0粉丝 49原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值