zoukankan      html  css  js  c++  java
  • UVA 23 out of 5

    题目例如以下:

    Problem I

    23 Out of 5

    Input: standard input

    Output: standardoutput

    Time Limit: 1 second

    Memory Limit: 32 MB

    Your task is to writea program that can decide whether you can find an arithmetic expression consistingof five given numbers (1<=i<=5) that will yieldthe value 23.
    For this problem we will only consider arithmetic expressions of the followingfrom:

     
    where : {1,2,3,4,5} -> {1,2,3,4,5} is a bijective function
    and  {+,-,*} (1<=i<=4)

    Input

    The Input consists of 5-Tupelsof positive Integers, each between 1 and 50.
    Input is terminated by a line containing five zero's. This line should not beprocessed.

    Output

    For each 5-Tupel print"Possible" (without quotes) if their exists an arithmetic expression(as described above) that yields 23. Otherwise print "Impossible".

    Sample Input

    1 1 1 1 1
    1 2 3 4 5
    2 3 5 7 11
    0 0 0 0 0

    Sample Output

    Impossible
    Possible
    Possible
    也是直接回溯就能够了,只是要注意π是个双射函数(bijective function)。所以要一一相应。不能反复使用,採用一个vis数组标记就可以。

    AC的代码例如以下:


  • 相关阅读:
    .NET Tools...
    函数重载
    友元课后题
    怎么防止用户输入错误信息
    C#动态求圆的面积
    重载自增
    C++数学应用
    位运算符
    MSDN放出了VS2010简体中文正式版(附下载地址)
    字符串复制
  • 原文地址:https://www.cnblogs.com/yutingliuyl/p/7136138.html
Copyright © 2011-2022 走看看