HDOJ 1393 Weird Clock(明白题意就简单了)

简介: HDOJ 1393 Weird Clock(明白题意就简单了)

Problem Description

A weird clock marked from 0 to 59 has only a minute hand. It won’t move until a special coin is thrown into its box. There are different kinds of coins as your options. However once you make your choice, you cannot use any other kind. There are infinite number of coins of each kind, each marked with a number d ( 1 <= d <= 1000 ), meaning that this coin will make the minute hand move d times clockwise the current time. For example, if the current time is 45, and d = 2. Then the minute hand will move clockwise 90 minutes and will be pointing to 15.


Now you are given the initial time s ( 1 <= s <= 59 ) and the coin’s type d. Write a program to find the minimum number of d-coins needed to turn the minute hand back to 0.


Input

There are several tests. Each test occupies a line containing two positive integers s and d.


The input is finished by a line containing 0 0.


Output

For each test print in a single line the minimum number of coins needed. If it is impossible to turn the hand back to 0, output “Impossible”.


Sample Input

30 1

0 0


Sample Output

1


明白题意之后就简单了,

思路:一个钟面只有一根分针。对于一个数字d,把钟面上的分针指向的时间s往后拨s的d倍。问给定d,重复这样的操作多少次能回拨到0。若不能则输出Impossible。

注意:此处的s是不断更新的!!!!!!!!!!!

因为钟面只有60分钟,所以最多不会超过60次,直接暴力就可。

import java.util.Scanner;
public class Main{
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        while(sc.hasNext()){
            int s= sc.nextInt();
            int d = sc.nextInt();
            if(s==0&&d==0){
                return ;
            }
            int num=s;
            for(int i=1;i<65;i++){
                num = (num+(num*d))%60;
                if(num==0){
                    System.out.println(i);
                    break;
                }
                if(i>63){
                    System.out.println("Impossible");
                    break;
                }
            }
        }
    }
}
目录
相关文章
|
算法
hdoj 3732 Ahui Writes Word (多重背包)
来看题目吧,可能有100000个单词,然后只有1000ms,但看包的大小,有10000,这样只能允许nlog(n)的算法,还有,每个单词的价值和花费都很小(不大于十),如果不考虑单词的不同,只考虑价值和花费只有最多100种东西,但如果把这些按多重背包的方法来计算依旧会超时,很容易想到和之前01背包的时间复杂度是一样的。
52 0
|
开发者
Alarm-Clock 实验过程|学习笔记
快速学习 Alarm-Clock 实验过程
245 0
Alarm-Clock 实验过程|学习笔记
|
数据格式
HDL-Bits 刷题记录 04
HDL-Bits 刷题记录 04 搬运本人博客
134 0
HDL-Bits 刷题记录 04
HDL-Bits 刷题记录 03
HDL-Bits 刷题记录 03
133 0
HDL-Bits 刷题记录 03
HDL-Bits 刷题记录 02
HDL-Bits 刷题记录 02
342 0
HDL-Bits 刷题记录 02
|
存储 测试技术 异构计算
HDL-Bits 刷题记录 01
HDL-Bits 刷题记录 01
416 0
HDL-Bits 刷题记录 01
CF898D. Alarm Clock(贪心 双指针)
CF898D. Alarm Clock(贪心 双指针)
113 0
|
Java 测试技术
HDOJ 1237题 简单计算器
HDOJ 1237题 简单计算器
121 0
HDOJ 2042 不容易系列之二
HDOJ 2042 不容易系列之二
161 0
HDOJ(HDU) 2078 复习时间
HDOJ(HDU) 2078 复习时间
142 0