zoukankan      html  css  js  c++  java
  • ACDream 1408 "Money, Money, Money" (规律)

    "Money, Money, Money"

    Special Judge Time Limit: 2000/1000MS (Java/Others)
     Memory Limit: 128000/64000KB (Java/Others)

    Problem Description

          The government of Flatland has decided to carry out the money system reform. The purpose of the reform is to reduce the number of different banknotes denominations down to two. After the reform there will be two types of banknotes — a tupiks and b tupiks.
          The problem is that the president of Flatland doesn’t like the number x. Therefore the minister of finances was instructed to choose such a and b that it is impossible to pay exactly x tupiks without change. On the other hand it must be possible to pay all amounts larger than x.
          Now you are asked to help him — choose such a and b, or recommend the minister to retire, if it is impossible.

    Input

          Input file contains one number x (1 ≤ x ≤ 1012).

    Output

          Output two integer numbers a and b, such that it is impossible to pay x tupiks using banknotes of a and b tupiks without change, but it is possible to pay any larger sum. If it is impossible, output two zeroes to the output file.

    Sample Input

    3
    4
    5
    

    Sample Output

    2 5
    0 0
    3 4
    

    Source

    Andrew Stankevich Contest 21
     
    题意:找到两个数,使得其能够组成大于x的所有数字
    分析:这道题如果x是偶数,小数据模拟了一下发现是无解的,x是奇数的话那么大于x的数字可以由2和x+2组成。
    至于为什么x是偶数时是无解还是没有推出来,过往大牛看到解答一下~
    #pragma comprint(linker, "/STACK:1024000000,1024000000")
    #include<cstdio>
    #include<string>
    #include<iostream>
    #include<cstring>
    #include<cmath>
    #include<stack>
    #include<queue>
    #include<vector>
    #include<map>
    #include<stdlib.h>
    #include<time.h>
    #include<algorithm>
    #define LL long long
    #define FIN freopen("in.txt","r",stdin)
    using namespace std;
    int main()
    {
        LL x;
        while(scanf("%lld",&x)!=EOF)
        {
            if(x&1)
                printf("2 %lld
    ",x+2);
            else
                printf("0 0
    ");
        }
        return 0;
    }
    View Code
  • 相关阅读:
    【转】浅谈Node.js单线程模型
    进程
    网络编程:tcp、udp、socket、struct、socketserver
    Python基础练习
    面向对象:其他双下方法
    isinstance、issubclass、反射
    面向对象:__getitem__、__setitem__、__delitem__
    面向对象:classmethod、staticmethod、property
    面向对象:继承、多态、封装
    异常处理
  • 原文地址:https://www.cnblogs.com/clliff/p/4761905.html
Copyright © 2011-2022 走看看