nyoj 949哈利波特(细节题)

哈利波特

时间限制:1000 ms  |  内存限制:65535 KB

难度:3

描写叙述

Harry 新学了三种魔法。他能够用第一种魔法把 a
克的沙子变成 b 克金属,能够用另外一种魔法把 c 克金属变成 d 克金子,能够用第三种魔法把 e 克金子变成 f 克沙子。Harry 的两个好朋友Ron和Hermione知道了很高兴,可是Ron和Hermione有个分歧,Ron认为Harry能够用这三种魔法获得无限的金子,Hermione认为不能获得无限多的。Harry想知道究竟谁是对的

输入
输入6个整数 a,b,c,d,e,f

(0<=a,b,c,d,e,f<=1000)

输出
输出谁是对的,假设Ron是对的输出“Ron”。否则输出“Hermione”
例子输入
100 200 250 150 200 250
100 50 50 200 200 100
1 1 0 1 1 1
100 1 100 1 0 1
例子输出
Ron
Hermione
Ron
Ron
上传者

ACM_王莹

思路:正向黄金 《逆向黄金(Ron)

正向 :k=b/c*d

逆向: q=(k/e)*f

w=(q/a)*b

p=(w/c)*d//逆向黄金

要注意,输入能够有0 所以

1.a=0 bcd 时候 无限黄金ron c=0&&d 无限变出金子 ron

2.当(a=0||c=0||e=0)&&b、d、f 也是无限金子

3.当(a==0&&b==0)||(e==0&&f==0)||(c==0&&d==0)  herminoe中间有一个环节不能转换

(用的syy的代码 比我写的更简单)

#include<stdio.h>
int main()
{
    double a,b,c,d,e,f;
    while(~scanf("%lf%lf%lf%lf%lf%lf",&a,&b,&c,&d,&e,&f))
    {
        if(c==0&&d)
        {
            printf("Ron\n");
            continue;
        }
        if(a==0&&b&&c&&d)
        {
            printf("Ron\n");
            continue;
        }
        if((a==0||c==0||e==0)&&b&&d&&f)
        {
            printf("Ron\n");
            continue;
        }
        if((a==0&&b==0)||(e==0&&f==0)||(c==0&&d==0))
        {
            printf("Hermione\n");
            continue;
        }
        double k=(b/c)*d;
        double q=(k/e)*f;
        double w=(q/a)*b;
        double p=(w/c)*d;
        if(p>k)
            printf("Ron\n");
        else
            printf("Hermione\n");
    }
    return 0;
}  
时间: 2024-10-25 12:43:00

nyoj 949哈利波特(细节题)的相关文章

【Reading】细节题答疑 and 排除题解法

知识点 细节题可能会考察并列的句式,选项优先考察有并列逻辑的情况. 以偏概全:误导的选项中用括号里的内容代替了整个内容. 对于找错题 / 排除题(Not Mention.Except)的做题技巧: 概括:对于三真一假的情况,可以采用看一个选项找一个选项的策略. 具体步骤: 1. 读题干 2. 看一个选项,确定该选项的关键词,再回原文找对应句子,然后判断正误 排除题错误选项的特征:错误选项会集中出现 而排除题的正确选项的特征:1. 与原文不符 2. 原文未提及 3. 所答非所问 词汇 inhosp

bzoj1067——SCOI2007降雨量(线段树,细节题)

题目描述 我们常常会说这样的话:"X年是自Y年以来降雨量最多的".它的含义是X年的降雨量不超过Y年,且对于任意\(Y<Z<X\),Z年的降雨量严格小于X年.例如2002,2003,2004和2005年的降雨量分别为4920,5901,2832和3890,则可以说"2005年是自2003年以来最多的",但不能说"2005年是自2002年以来最多的"由于有些年份的降雨量未知,有的说法是可能正确也可以不正确的. 输入输出格式 输入格式: 输

BestCoder Round #61 (div.2) B.Game 细节题

Game 问题描述 XY在玩一个游戏:有N根柱子排成一排,编号为1到N,每个柱子上面有一块宝石,现在XY站在第S根柱子上,出口在第T跟柱子上,XY需要拿到所有宝石后从出口离开.每次XY可以走到相邻的柱子上,也可以使用超能力跳到第一根柱子或者第N根柱子上,如果离开了柱子之后再也不能到达这里.为了节省能量,XY想用最少次数超能力通关. 输入描述 输入有多组数据,不超过1000组. 每组数据输入一行包含3个整数,N,S和T.(1\leq N\leq10000,1\leq S,T\leq N )(1≤N

Codeforces Round #345 (Div. 2) D 细节题

这个题的意思是给你n张首尾相接的照片, 当前照片在1, 每次只能转移一个单位, 转移时间为a, 照片有可能颠倒, 将照片摆正需要的时间为b, 看照片的时间为1, 想要看尽可能多的照片, 问这个数量是多少, 我们可以预处理查看每张照片需要的时间, 然后枚举从左边看需要的时间, 从右边看需要的时间, 二分从另外一边看需要的时间即可, 代码如下: #include <cstdio> #include <algorithm> #include <cstring> using n

An Easy Problem?!(细节题,要把所有情况考虑到)

http://poj.org/problem?id=2826 An Easy Problem?! Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 10505   Accepted: 1584 Description It's raining outside. Farmer Johnson's bull Ben wants some rain to water his flowers. Ben nails two woode

UVA1610 PartyGame 聚会游戏(细节题)

给出一组字符串D,要找一个字符串S使得D中一半小于等于S,另外一半大于S.输入保证一定有解.长度要尽量短,在此基础上字典序尽量小. 分类谈论,细节挺多的,比如'Z'. 其实直接暴就过了,没分类辣么麻烦. #include<bits/stdc++.h> using namespace std; vector<string> vec; int main() { // freopen("in.txt","r",stdin); int n; char

【细节题 离线 树状数组】luoguP4919 Marisa采蘑菇

歧义差评:但是和题意理解一样了之后细节依然处理了很久,说明还是水平不够…… 题目描述 Marisa来到了森林之中,看到了一排nn个五颜六色的蘑菇,编号从1-n1−n,这些蘑菇的颜色分别为col[1],col[2]...col[n]col[1],col[2]...col[n]由于她很挑剔,所以她只会采那些"魔法蘑菇" 一个蘑菇被叫做"魔法蘑菇",当且仅当它在给定的某段区间内,并且在这段给定区间内与它颜色相同的蘑菇(包括它本身)的个数 与在这个给定区间外这种颜色的蘑菇的

1610 - Party Games(细节题)

不知道为什么把这道题放在高效里,我这一点也不高效的方法居然也跑了0.016s 我们需要做的很简单,挨个字符的选择,然后先加上这个字符,和所有字符串比较一遍,根据大于它和小于它的字符串个数进行判断就好了 .  注意z这个字符 ,对于某些数据,会TLE的... 没什么意思,直接看代码吧: #include<bits/stdc++.h> using namespace std; const int maxn = 10000 + 5; int n,cnt[maxn]; char ans[35],s[m

nyoj 755 山谷 (水题)

题目755 题目信息 运行结果 本题排行 讨论区 山谷 时间限制:1000 ms  |  内存限制:65535 KB 难度:2 描述 八百里伏牛山连绵不断,高低起伏. 家住山脚下的小明开始学习识数了,面朝群山,他想数一下对面有多少山谷,请你写个程序帮他检验一下他数的结果是否正确. 输入 有多组测试数据. 对于每组数据: 第一行: N(2<N<10000) 第二行有N个正整数,分别代表山脉从左到右的高度Hi(0<Hi<1000). 输出 输出每组数据中山谷的个数. 样例输入 3 2