一、题目大意

模拟一个开组合的密码锁过程。就像电影你开保险箱一样,左转几圈右转几圈的就搞定了。这个牌子的锁呢,也有它独特的转法。这个锁呢,有一个转盘,刻度为0~39。在正北方向上有一个刻度指针。它的密码组合有三个数,开锁的套路为:先把刻度盘顺时针转两圈,然后再顺时针转到第一个数,再把刻度盘逆时针转一圈,再逆时针转到第二个数,最后再顺时针转到第三个数。这里的转到那个数是指将刻度盘上的数转到指针处。起始位置和组合密码有标准输入给出。求圆盘转过的总度数(顺时针加上逆时针)。注意刻度盘上还有一个凸起的圆盘,这个是不能转的。

二、题解

这个过程有一个不变的度数就是转的3圈数,1080度。然后就是顺时针和逆时针两种情况下,一个数转到另一个数要转的度数。顺时针情况下,从起始到结果的计算公式为:

result +=end > start  ? (40+start-end) * 9 : (start-end) * 9;,二逆时针则是:result+=end > start ? (end-start) * 9 : (40+end-start) * 9;

三、java代码

import java.util.Scanner;
public class Main{ public static void main(String args[]){
Scanner sc=new Scanner(System.in);
int ini,one,two,three;
while(true){
int result=1080;
ini=sc.nextInt();
one=sc.nextInt();
two=sc.nextInt();
three=sc.nextInt();
if(ini+one+two+three==0)
break;
result+=one > ini ?(40+ini-one) * 9:(ini-one) * 9;
result+=two > one ?(two-one) * 9:(40+two-one) * 9;
result+=three > two ?(40+two-three) * 9:(two-three) * 9;
System.out.println(result);
}
}
}

版权声明:本文为博主原创文章,未经博主允许不得转载。

Poj 2304 Combination Lock(模拟顺、逆时钟开组合锁)的更多相关文章

  1. hihocoder-第六十一周 Combination Lock

    题目1 : Combination Lock 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 Finally, you come to the interview roo ...

  2. Combination Lock

    时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 Finally, you come to the interview room. You know that a Micr ...

  3. hihocoder #1058 Combination Lock

    传送门 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 Finally, you come to the interview room. You know that a ...

  4. 贪心 Codeforces Round #301 (Div. 2) A. Combination Lock

    题目传送门 /* 贪心水题:累加到目标数字的距离,两头找取最小值 */ #include <cstdio> #include <iostream> #include <a ...

  5. Codeforces Round #301 (Div. 2) A. Combination Lock 暴力

    A. Combination Lock Time Limit: 1 Sec  Memory Limit: 256 MB 题目连接 http://codeforces.com/contest/540/p ...

  6. Hiho----微软笔试题《Combination Lock》

    Combination Lock 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 Finally, you come to the interview room. You ...

  7. CF #301 A :Combination Lock(简单循环)

    A :Combination Lock 题意就是有一个密码箱,密码是n位数,现在有一个当前箱子上显示密码A和正确密码B,求有A到B一共至少需要滚动几次: 简单循环:

  8. A - Combination Lock

    Time Limit:2000MS     Memory Limit:262144KB     64bit IO Format:%I64d & %I64u Description Scroog ...

  9. HDU 3104 Combination Lock(数学题)

    题目链接:http://acm.hdu.edu.cn/showproblem.php? pid=3104 Problem Description A combination lock consists ...

随机推荐

  1. 九度OJ 1002:Grading

    时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:18410 解决:4753 题目描述: Grading hundreds of thousands of Graduate Entrance ...

  2. 【python】-- 递归函数、高阶函数、嵌套函数、匿名函数

    递归函数 在函数内部,可以调用其他函数.但是在一个函数在内部调用自身,这个函数被称为递归函数 def calc(n): print(n) if int(n/2) == 0: #结束符 return n ...

  3. Linux学习路线指南

    转载的,感觉写的挺好的,我自己知识复制了下,忘记了转载地址,抱歉! Linux学习路线指南 很多同学接触Linux不多,对Linux平台的开发更是一无所知.而现在的趋势越来越表明,作为一个优秀的软件开 ...

  4. PAT 1054. 求平均值 (20)

    本题的基本要求非常简单:给定N个实数,计算它们的平均值.但复杂的是有些输入数据可能是非法的.一个“合法”的输入是[-1000,1000]区间内的实数,并且最多精确到小数点后2位.当你计算平均值的时候, ...

  5. linux c编程:进程控制(一)

    一个进程,包括代码.数据和分配给进程的资源.fork()函数通过系统调用创建一个与原来进程几乎完全相同的进程, 也就是两个进程可以做完全相同的事,但如果初始参数或者传入的变量不同,两个进程也可以做不同 ...

  6. 遇到IIS configuration error错误的可以看看,不一定是权限问题

    最近接手了别人的一个 DOT NET项目,编译.调试一切都OK(心里暗暗高兴),发布吧,结果放到服务器上一运行出现Configuration Error错误,提示:“Access to the pat ...

  7. 查看当前.net版本 cmd

    reg query "HKLM\Software\Microsoft\NET Framework Setup\NDP" /s /v version | findstr /i ver ...

  8. Android动画效果animation

    1.Tween 根据指定动画开始和结束时的对象属性(位置.Alpha值(透明度).大小.角度等)以及动画播放的时间长度生成动画: 2.Frame 指定每一帧所播放的图片和时间长度.   建立动画的方法 ...

  9. JSON JsonArray和JsonObject学习资料

    资料地址: http://www.json.org/json-zh.html

  10. LeetCode:验证回文串【125】

    LeetCode:验证回文串[125] 题目描述 给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写. 说明:本题中,我们将空字符串定义为有效的回文串. 示例 1: 输入: ...