【发布时间】:2016-05-21 11:50:39
【问题描述】:
我需要找到一种快速算法来解决以下输入和输出的问题。
输入:
n 对整数作为操作数和三个运算符(+,-,*)
输出:
如果有人可以将运算符放在所有操作数之间,结果是 n 个不同的数字,程序会说:“这是可能的。”。否则它会说:“这是不可能的。”。另一方面,运算符的重复是允许的,但结果是不允许的。通常的方法是使用置换;但这非常耗时。
一个例子:
Input:
3 5
2 1
6 3
Output:
Possible
在本例中,一种可能性是第一对操作数使用“-”运算符,其余操作数使用“+”运算符。
有人可以帮助我解决这个问题的快速算法吗(我也必须使用 c++)?
【问题讨论】:
-
向我们展示一些您迄今为止尝试过的代码。
-
你有 read about how to ask good questions?你知道如何创建Minimal, Complete, and Verifiable Example吗?如果没有,请点击链接并阅读文章。
-
我没有尝试任何代码,因为我将首先设计它的算法。
-
@alikefayati Stack Overflow 是一个关于代码的问答网站。如果主要关注算法设计,您可能会在programmers.stackexchange.com 或其他 Stack Exchange 网站上获得更好的运气。
-
如果你去programmers.se,发帖前请阅读他们的规则!
标签: c++ algorithm linear-algebra graph-algorithm