xth的第 12 枚硬币(codevs 1366)
题目描述 Description
传说 xth 曾经拥有11枚完全相同硬币(你懂得),不过今年呢,rabbit又送了他一
枚硬币。这枚硬币和其他硬币外观相同,只有重量不同,或轻或重。Xth 一不小心,
将这枚特殊的硬币和其他硬币混在了一起。Rabbit 知道后很生气,要他立刻把那枚
硬币找出来,并且还要说出这枚硬币是轻还是重。可怜的 Xth 只有一架普通托盘天
平,并且只能称量三次(每次称量,两边各四枚)。现在全部 12枚硬币编号为
A~L,现给出你三次称量的结果,请你帮 xth 找出那枚不一样的硬币。他一定会感
谢你们滴~~~
输入描述 Input Description
共三行,每行是由空格隔开的两个字符串,分别代表左右两盘的四个硬币,以及一
个单词。’even’表示两侧重量相等,’up’表示右侧轻,’down’表示右侧重。
输出描述 Output Description
一行,一个英文句子,指出那枚不一样的硬币以及它的轻重情况。
X is the counterfeit coin and it is light/heavy. (X表示硬币)
样例输入 Sample Input
ABCD EFGH even
ABCI EFJK up
ABIJ EFGH even
样例输出 Sample Output
K is the counterfeit coin and it
is light.
数据范围及提示 Data Size & Hint
数据保证有且仅有一枚特殊的硬币,无矛盾情况出现。
/*
找不对等次数最多的硬币
*/
#include<cstdio>
#include<iostream>
#define M 14
using namespace std;
int f[M],vis[M];
char s1[],s2[],s3[];
int main()
{
for(int T=;T<=;T++)
{
cin>>s1>>s2>>s3;
if(s3[]=='e')
{
for(int i=;i<=;i++)
{
f[s1[i]-'A'+]=f[s2[i]-'A'+]=;
vis[s1[i]-'A'+]=vis[s2[i]-'A'+]=;
}
}
else if(s3[]=='u')
{
for(int i=;i<=;i++)
{
if(f[s1[i]-'A'+]==)vis[s1[i]-'A'+]++;
if(!f[s1[i]-'A'+])f[s1[i]-'A'+]=,vis[s1[i]-'A'+]++;
if(f[s1[i]-'A'+]==)f[s1[i]-'A'+]=;
if(f[s2[i]-'A'+]==)vis[s2[i]-'A'+]++;
if(!f[s2[i]-'A'+])f[s2[i]-'A'+]=,vis[s2[i]-'A'+]++;
if(f[s2[i]-'A'+]==)f[s2[i]-'A'+]=;
}
}
else
{
for(int i=;i<=;i++)
{
if(f[s1[i]-'A'+]==)vis[s1[i]-'A'+]++;
if(!f[s1[i]-'A'+])f[s1[i]-'A'+]=,vis[s1[i]-'A'+]++;
if(f[s1[i]-'A'+]==)f[s1[i]-'A'+]=;
if(f[s2[i]-'A'+]==)vis[s2[i]-'A'+]++;
if(!f[s2[i]-'A'+])f[s2[i]-'A'+]=,vis[s2[i]-'A'+]++;
if(f[s2[i]-'A'+]==)f[s2[i]-'A'+]=;
}
}
}
int tot=,ans=;
for(int i=;i<=;i++)
if(vis[i]>tot)
{
tot=vis[i];
ans=i;
}
if(f[ans]==)printf("%c is the counterfeit coin and it is light.",ans+'A'-);
else printf("%c is the counterfeit coin and it is heavy.",ans+'A'-);
return ;
}
xth的第 12 枚硬币(codevs 1366)的更多相关文章
- 1366 xth 的第 12 枚硬币
1366 xth 的第 12 枚硬币 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 钻石 Diamond 题解 题目描述 Description 传说 xth 曾 ...
- Ex 6_19 至多用k枚硬币兑换价格_第七次作业
子问题定义: 定义一个二维数组b,其中b[i][j]表示用i个硬币是否能兑换价格j,表示第i个币种的面值, 递归关系: 初值设定: 求解顺序: 按下标从小到大依次求解数组b每一列的值,最后二维数组b的 ...
- n枚硬币问题(找假币)
问题描述: 在n枚外观相同的硬币中,有一枚是假币,并且已知假币与真币的重量不同,但不知道假币与真币相比较轻还是较重.可以通过一架天平来任意比较两组硬币,设计一个高效的算法来检测这枚假币. 解题思路: ...
- Java实现8枚硬币问题(减治法)
1 问题描述 在8枚外观相同的硬币中,有一枚是假币,并且已知假币与真币的重量不同,但不知道假币与真币相比较轻还是较重.可以通过一架天平来任意比较两组硬币,设计一个高效的算法来检测这枚假币. 2.1 减 ...
- Counterfeit Dollar -----判断12枚钱币中的一个假币
Counterfeit Dollar Time Limit:1000MS Memory Limit:10000KB 64bit IO Format:%I64d & %I64u ...
- POJ1013 称硬币
题目链接:http://poj.org/problem?id=1013 题目大意 有12枚硬币.其中有11枚真币和1枚假币.假币和真币重量不同,但不知道假币比真币轻还是重.现在,用一架天平称了这些币三 ...
- POJ1013称硬币【枚举】
Counterfeit Dollar Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 52474 Accepted: 16 ...
- POJ 1013 Counterfeit Dollar
Counterfeit Dollar Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 36206 Accepted: 11 ...
- C++基础算法学习——猜假币
有12枚硬币.其中有11枚真币和1枚假币.假币和真币重量不同,但不知道假币比真币轻还是重.现在,用一架天平称了这些币三次,告诉你称的结果,请你找出假币并且确定假币是轻是重(数据保证一定能找出来).例题 ...
随机推荐
- QT Creater环境搭建
需要的软件包: 1.qt-win-opensource-4.8.5-mingw.exe //Qt库 2.MinGW-gcc440_1.zip //QT编译器 3.qt-creator-opensour ...
- jsp中的setHeader页面跳转备忘录
1 <!-- response.setHeader("refresh","3;url=你想跳的页面")--> <%-- response.se ...
- 马拉车算法(Manacher's Algorithm)
这是悦乐书的第343次更新,第367篇原创 Manacher's Algorithm,中文名叫马拉车算法,是一位名叫Manacher的人在1975年提出的一种算法,解决的问题是求最长回文子串,神奇之处 ...
- 微信小程序连接Java后台
有人问我小程序怎么连后台,这里直接贴代码 在app.js里 // api request request(url, params) { return new Promise((resolve, rej ...
- 面向对象之继承-5种JavaScript继承的方法
今天我们讨论一下常用的几种继承方法:首先我们创建一个动物函数Animal: function Animal () { this.species = '动物' }再写准备名叫猫咪的函数Cat: func ...
- JavaScript--编程题
某班的成绩出来了,现在老师要把班级的成绩打印出来. 效果图: XXXX年XX月X日 星期X--班级总分为:81 格式要求: 1.显示打印的日期. 格式为类似“XXXX年XX月XX日 星期X” 的当前的 ...
- MyEclipse找不到install new software
Window->Preferences->Capabilities-> classic update(勾选即可) 勾选后会出现software updates,下面按照help-&g ...
- 回收maven私仓过期垃圾
login->scheduled tasks->add
- Sql Server 如何解决多并发情况下,出现的多个相同ID数据
在数据库中单独创建一张表,保存当前存储状态,“存储过程” 设置访问条件root初始值为“0” 如果root值不为0的时候就不可访问并进行相关操作. 在事务执行前将root值设置为1,事务结束后将ro ...
- JS高级——面向对象方式解决tab栏切换问题
注意事项 1.给li元素注册事件,函数里面的this指的li元素,那么我们可以在注册事件之前将Tab对象用that=this进行保存 2.使用沙箱模式,所以暴露给外面的变量使用的是window.tab ...