TopCoder Alogirithm系统测试失败

时间:2017-05-11 06:38:23

标签: c# string algorithm

我正在使用Top-Coder解决问题。问题陈述是 -

  

有一天,杰米注意到许多英文单词只使用字母A.   这些词的例子包括" AB" (腹部的缩写),   " BAA" (羊的噪音)," AA" (一种熔岩)," ABBA" (一个   瑞典流行音乐)。

     

受这种观察的启发,杰米创造了一个简单的游戏。你是   给出两个字符串:初始和目标。游戏的目标是找到   一系列有效的动作,将初始变为目标。那里   有两种类型的有效动作:

     

将字母A添加到字符串的末尾。然后反转字符串   将字母B添加到字符串的末尾。返回"可能" (报价   为清晰起见)如果有一系列有效的移动会改变   初步进入目标。否则,返回"不可能"。

下面是我通过Panel中所有测试但在系统测试中失败的问题的解决方案。但是,我没有得到关于哪个测试用例失败的任何具体信息。请检查我的代码是否在某些情况下不起作用

class ABBA
{
public string canObtain(string initial,string target)
{
    string s = "Impossible";

            if (initial.Length > target.Length)
                return "Impossible";

            if (initial.Equals(target))
                return "Possible";

            if (CheckFirstWay(target,initial))
            {
                s=canObtain(initial+"A",target);
            }
            if (s.Equals("Impossible") && CheckSecondWay(target,initial))
            {
                s=canObtain(ReverseStringDirect(initial) + "B",target);
            }

            return s;
}
   public static string ReverseStringDirect(string s)
        {
            char[] array = new char[s.Length];
            int forward = 0;
            for (int i = s.Length - 1; i >= 0; i--)
            {
                array[forward++] = s[i];
            }
            return new string(array);
        }

        private static bool CheckSecondWay(string final, string initial)
        {
            if (final.Contains(ReverseStringDirect(initial) + "B") || final.Contains("B"+initial))
            {
                return true;
            }
            else
            {
                return false;
            }
        }

        private static bool CheckFirstWay(string final1, string initial)
        {
            if (final1.Contains(initial + "A") || final1.Contains(ReverseStringDirect(initial+"A")))
            {
                return true;
            }
            else
            {
                return false;
            }
        } 
}

1 个答案:

答案 0 :(得分:0)

您可以按照以下步骤检查哪个测试失败,

  
      
  1. 前往指定的房间。
  2.   
  3. 打开问题。
  4.   
  5. 编译。
  6.   
  7. 提交。
  8.   
  9. 然后去运行系统测试。
  10.   
  11. 你会在那里看到错误测试。
  12.   

OR

  
      
  1. here中选择匹配项。
  2.   
  3. 然后在显示的页面中,您将看到一组蓝色编码员和红色编码员,他们在比赛中名列前茅。
  4.   
  5. 根据您的部门选择任何一名玩家。 [.] - >这个标志旁边的名字。
  6.   
  7. 然后检查他们的解决方案,你会看到那些测试。
  8.   

以下是test cases ..请查看。

您必须在此处键入系统测试。您可以查看下面的图片。图片来源:Google

enter image description here