/**
*
* @author Rohans
*/
public class Main {
//declare variables for the finish the location of mario and the length
int z, l = a.length - 1, m = a[0].indexOf("S");
//treat the exit as a space
z = a[l].indexOf("E");
a[l] = a[l].replaceAll("E", " ");
//go through the map
for (int i = 1, x, r = 1; i <= l; i++) {
//if mario can safely jump to the next platform (it picks the highest one)
if (((x = a[i].indexOf("=")) != 0 && (x = a[i].indexOf(" =")) == -1) || m - x > 4) {
return 0;
}
//adjust marios y location
m = x;
}
//make sure mario made it to the end of the level
return m == z ? 1 : 0;
}
public static void MarioTest
(String...
testCase) { System.
out.
println(new Main
().
m(testCase
) == 1 ? "Mario made it" : "Mario did not make it"); }
/**
* @param args the command line arguments
*/
public static void main
(String[] args
) { MarioTest(" S=", "=====", " =", " =", "= =", " =E=");
// = =
// =
// = =
// S= E
// ======
}
}
LyoqCiAqCiAqIEBhdXRob3IgUm9oYW5zCiAqLwpwdWJsaWMgY2xhc3MgTWFpbiB7CgogICAgaW50IG0oU3RyaW5nW10gYSkgewovL2RlY2xhcmUgdmFyaWFibGVzIGZvciB0aGUgZmluaXNoIHRoZSBsb2NhdGlvbiBvZiBtYXJpbyBhbmQgdGhlIGxlbmd0aAogICAgICAgIGludCB6LCBsID0gYS5sZW5ndGggLSAxLCBtID0gYVswXS5pbmRleE9mKCJTIik7CiAgICAgICAgLy90cmVhdCB0aGUgZXhpdCBhcyBhIHNwYWNlCiAgICAgICAgeiA9IGFbbF0uaW5kZXhPZigiRSIpOwogICAgICAgIGFbbF0gPSBhW2xdLnJlcGxhY2VBbGwoIkUiLCAiICIpOwogICAgICAgIC8vZ28gdGhyb3VnaCB0aGUgbWFwCiAgICAgICAgZm9yIChpbnQgaSA9IDEsIHgsIHIgPSAxOyBpIDw9IGw7IGkrKykgewogICAgICAgICAgICAvL2lmIG1hcmlvIGNhbiBzYWZlbHkganVtcCB0byB0aGUgbmV4dCBwbGF0Zm9ybSAoaXQgcGlja3MgdGhlIGhpZ2hlc3Qgb25lKQogICAgICAgICAgICBpZiAoKCh4ID0gYVtpXS5pbmRleE9mKCI9IikpICE9IDAgJiYgKHggPSBhW2ldLmluZGV4T2YoIiA9IikpID09IC0xKSB8fCBtIC0geCA+IDQpIHsKICAgICAgICAgICAgICAgIHJldHVybiAwOwogICAgICAgICAgICB9CiAgICAgICAgICAgIC8vYWRqdXN0IG1hcmlvcyB5IGxvY2F0aW9uCiAgICAgICAgICAgIG0gPSB4OwogICAgICAgIH0KICAgICAgICAvL21ha2Ugc3VyZSBtYXJpbyBtYWRlIGl0IHRvIHRoZSBlbmQgb2YgdGhlIGxldmVsCiAgICAgICAgcmV0dXJuIG0gPT0geiA/IDEgOiAwOwogICAgfQoKICAgIHB1YmxpYyBzdGF0aWMgdm9pZCBNYXJpb1Rlc3QoU3RyaW5nLi4uIHRlc3RDYXNlKSB7CiAgICAgICAgU3lzdGVtLm91dC5wcmludGxuKG5ldyBNYWluKCkubSh0ZXN0Q2FzZSkgPT0gMSA/ICJNYXJpbyBtYWRlIGl0IiA6ICJNYXJpbyBkaWQgbm90IG1ha2UgaXQiKTsKICAgIH0KCiAgICAvKioKICAgICAqIEBwYXJhbSBhcmdzIHRoZSBjb21tYW5kIGxpbmUgYXJndW1lbnRzCiAgICAgKi8KICAgIHB1YmxpYyBzdGF0aWMgdm9pZCBtYWluKFN0cmluZ1tdIGFyZ3MpIHsKICAgICAgICBNYXJpb1Rlc3QoIiAgIFM9IiwgIj09PT09IiwgIiAgICA9IiwgIiAgICA9IiwgIj0gICA9IiwgIiAgPUU9Iik7CgkvLyAgPSAgPSAKCS8vICA9ICAgIAoJLy8gID0gICA9CgkvLyBTPSAgIEUKCS8vID09PT09PQoKICAgIH0KCn0=