/* package whatever; // don't place package name! */
import java.util.*;
import java.lang.*;
import java.io.*;
/* Name of the class has to be "Main" only if the class is public. */
class Ideone
{
{
DialAPirate DialAPirateInst = new DialAPirate();
DialAPirateInst.createDisks();
System.
out.
println("pirateId: "+DialAPirateInst.
getPirateDisplay()); }
}
class DialAPirate {
private int [][] years = { {1710, 1651, 1679, 1719, 1694, 1632, 1668, 1703, 1726, 1564, 1615, 1599, 1669, 1660, 1687},
{1658, 1702, 1725, 1630, 1709, 1594, 1614, 1563, 1649, 1693, 1577, 1678, 1686, 1597, 1718},
{1724, 1667, 1691, 1685, 1613, 1580, 1723, 1717, 1684, 1628, 1643, 1559, 1573, 1708, 1701},
{1672, 1562, 1721, 1666, 1673, 1670, 1692, 1656, 1567, 1674, 1662, 1655, 1646, 1671, 1611},
{1627, 1707, 1688, 1699, 1568, 1705, 1579, 1585, 1665, 1706, 1506, 1722, 1716, 1584, 1551},
{1566, 1592, 1654, 1635, 1639, 1695, 1704, 1711, 1609, 1681, 1712, 1542, 1565, 1720, 1664},
{1690, 1682, 1601, 1619, 1680, 1621, 1652, 1689, 1713, 1697, 1696, 1624, 1604, 1653, 1641}};
ArrayList<Integer> disk1 = new ArrayList<Integer>();
ArrayList<Integer> disk2 = new ArrayList<Integer>();
public void createDisks() {
int i;
for(i=1; i <=29; i = i +2 ){
disk1.add(i);
}
for(i=2; i <=30; i = i +2 ){
disk2.add(i);
}
}
public String getPirateDisplay
() { return Integer.
toString(this.
getPirateID()); }
private int[][] getMapping() {
int[][] mapping = {
// { 12 , 34 , 56 , 78 , 910 , 1112 , 1314 , 1516 , 1718 , 1920 , 2122 , 2324 , 2526 , 2728 , 2930 },
{ 130 , 32 , 54 , 76 , 98 , 1110 , 1312 , 1514 , 1716 , 1918 , 2120 , 2322 , 2524 , 2726 , 2928 },
{ 128 , 330 , 52 , 74 , 96 , 118 , 1310 , 1512 , 1714 , 1916 , 2118 , 2320 , 2522 , 2724 , 2926 },
{ 126 , 328 , 530 , 72 , 94 , 116 , 138 , 1510 , 1712 , 1914 , 2116 , 2318 , 2520 , 2722 , 2924 },
{ 124 , 326 , 528 , 730 , 92 , 114 , 136 , 158 , 1710 , 1912 , 2114 , 2316 , 2518 , 2720 , 2922 },
{ 122 , 324 , 526 , 728 , 930 , 112 , 134 , 156 , 178 , 1910 , 2112 , 2314 , 2516 , 2718 , 2920 },
{ 120 , 322 , 524 , 726 , 928 , 1130 , 132 , 154 , 176 , 198 , 2110 , 2312 , 2514 , 2716 , 2918 },
{ 118 , 320 , 522 , 724 , 926 , 1128 , 1330 , 152 , 174 , 196 , 218 , 2310 , 2512 , 2714 , 2916 },
{ 116 , 318 , 520 , 722 , 924 , 1126 , 1328 , 1530 , 172 , 194 , 216 , 238 , 2510 , 2712 , 2914 },
{ 114 , 316 , 518 , 720 , 922 , 1124 , 1326 , 1528 , 1730 , 192 , 214 , 236 , 258 , 2710 , 2912 },
{ 112 , 314 , 516 , 718 , 920 , 1122 , 1324 , 1526 , 1728 , 1930 , 212 , 234 , 256 , 278 , 2910 },
{ 110 , 312 , 514 , 716 , 918 , 1120 , 1322 , 1524 , 1726 , 1928 , 2130 , 232 , 254 , 276 , 298 },
{ 18 , 310 , 512 , 714 , 916 , 1118 , 1320 , 1522 , 1724 , 1926 , 2128 , 2330 , 252 , 274 , 296 },
{ 16 , 38 , 510 , 712 , 914 , 1116 , 1318 , 1520 , 1722 , 1924 , 2126 , 2328 , 2530 , 272 , 294 },
{ 14 , 36 , 58 , 710 , 912 , 1114 , 1316 , 1518 , 1720 , 1922 , 2124 , 2326 , 2528 , 2730 , 292 },
{ 34 , 56 , 78 , 910 , 1112 , 1314 , 1516 , 1718 , 1920 , 2122 , 2324 , 2526 , 2728 , 2930, 12 }
};
return mapping;
}
private int getPirateID() {
int pirateID
= Integer.
parseInt(temp
); System.
out.
println("temp:" + temp
); int[][] mapping = this.getMapping();
for(int i=0; i<mapping.length; i++) {
//String[] sarr = Arrays.stream(mapping[i]).mapToObj(String::valueOf).toArray(String[]::new);
//System.out.println("mapping["+Integer.toString(i)+"]: "+String.join(" - ", sarr));
for (int j=0; j <mapping[i].length; j++) {
if (mapping[i][j] == pirateID) {
return i;
}
}
}
return -1; // not found
}
}
LyogcGFja2FnZSB3aGF0ZXZlcjsgLy8gZG9uJ3QgcGxhY2UgcGFja2FnZSBuYW1lISAqLwoKaW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5sYW5nLio7CmltcG9ydCBqYXZhLmlvLio7CgoKLyogTmFtZSBvZiB0aGUgY2xhc3MgaGFzIHRvIGJlICJNYWluIiBvbmx5IGlmIHRoZSBjbGFzcyBpcyBwdWJsaWMuICovCmNsYXNzIElkZW9uZQp7CgkKCXB1YmxpYyBzdGF0aWMgdm9pZCBtYWluIChTdHJpbmdbXSBhcmdzKSB0aHJvd3MgamF2YS5sYW5nLkV4Y2VwdGlvbgoJewoJCURpYWxBUGlyYXRlIERpYWxBUGlyYXRlSW5zdCA9IG5ldyBEaWFsQVBpcmF0ZSgpOwoJCURpYWxBUGlyYXRlSW5zdC5jcmVhdGVEaXNrcygpOwoJCVN5c3RlbS5vdXQucHJpbnRsbigicGlyYXRlSWQ6ICIrRGlhbEFQaXJhdGVJbnN0LmdldFBpcmF0ZURpc3BsYXkoKSk7Cgl9Cn0KY2xhc3MgRGlhbEFQaXJhdGUgewoJcHJpdmF0ZSBpbnQgW11bXSB5ZWFycyA9IHsgIHsxNzEwLCAgMTY1MSwgICAxNjc5LCAgIDE3MTksICAgMTY5NCwgICAxNjMyLCAgIDE2NjgsICAgMTcwMywgICAxNzI2LCAgIDE1NjQsICAgMTYxNSwgICAxNTk5LCAgIDE2NjksICAgMTY2MCwgICAxNjg3fSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsxNjU4LCAgMTcwMiwgICAxNzI1LCAgIDE2MzAsICAgMTcwOSwgICAxNTk0LCAgIDE2MTQsICAgMTU2MywgICAxNjQ5LCAgIDE2OTMsICAgMTU3NywgICAxNjc4LCAgIDE2ODYsICAgMTU5NywgICAxNzE4fSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsxNzI0LCAgMTY2NywgICAxNjkxLCAgIDE2ODUsICAgMTYxMywgICAxNTgwLCAgIDE3MjMsICAgMTcxNywgICAxNjg0LCAgIDE2MjgsICAgMTY0MywgICAxNTU5LCAgIDE1NzMsICAgMTcwOCwgICAxNzAxfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsxNjcyLCAgMTU2MiwgICAxNzIxLCAgIDE2NjYsICAgMTY3MywgICAxNjcwLCAgIDE2OTIsICAgMTY1NiwgICAxNTY3LCAgIDE2NzQsICAgMTY2MiwgICAxNjU1LCAgIDE2NDYsICAgMTY3MSwgICAxNjExfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsxNjI3LCAgMTcwNywgICAxNjg4LCAgIDE2OTksICAgMTU2OCwgICAxNzA1LCAgIDE1NzksICAgMTU4NSwgICAxNjY1LCAgIDE3MDYsICAgMTUwNiwgICAxNzIyLCAgIDE3MTYsICAgMTU4NCwgICAxNTUxfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsxNTY2LCAgMTU5MiwgICAxNjU0LCAgIDE2MzUsICAgMTYzOSwgICAxNjk1LCAgIDE3MDQsICAgMTcxMSwgICAxNjA5LCAgIDE2ODEsICAgMTcxMiwgICAxNTQyLCAgIDE1NjUsICAgMTcyMCwgICAxNjY0fSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsxNjkwLCAgMTY4MiwgICAxNjAxLCAgIDE2MTksICAgMTY4MCwgICAxNjIxLCAgIDE2NTIsICAgMTY4OSwgICAxNzEzLCAgIDE2OTcsICAgMTY5NiwgICAxNjI0LCAgIDE2MDQsICAgMTY1MywgICAxNjQxfX07CgoJQXJyYXlMaXN0PEludGVnZXI+IGRpc2sxID0gbmV3IEFycmF5TGlzdDxJbnRlZ2VyPigpOwoJQXJyYXlMaXN0PEludGVnZXI+IGRpc2syID0gbmV3IEFycmF5TGlzdDxJbnRlZ2VyPigpOwkKCXB1YmxpYyB2b2lkIGNyZWF0ZURpc2tzKCkgewoJICAgIGludCBpOwoJICAgIGZvcihpPTE7IGkgPD0yOTsgaSA9IGkgKzIgKXsKCSAgICAgICAgZGlzazEuYWRkKGkpOwoJICAgIH0KCSAgICBmb3IoaT0yOyBpIDw9MzA7IGkgPSBpICsyICl7CgkgICAgICAgIGRpc2syLmFkZChpKTsKCSAgICB9Cgl9CglwdWJsaWMgU3RyaW5nIGdldFBpcmF0ZURpc3BsYXkoKSB7CgkJcmV0dXJuIEludGVnZXIudG9TdHJpbmcodGhpcy5nZXRQaXJhdGVJRCgpKTsKCX0KCXByaXZhdGUgaW50W11bXSBnZXRNYXBwaW5nKCkgewoJCWludFtdW10gbWFwcGluZyA9IHsKLy8JCQl7IDEyICwgIDM0ICwgIDU2ICwgIDc4ICwgIDkxMCAsICAxMTEyICwgIDEzMTQgLCAgMTUxNiAsICAxNzE4ICwgIDE5MjAgLCAgMjEyMiAsICAyMzI0ICwgIDI1MjYgLCAgMjcyOCAsICAyOTMwIH0sCgkJCSAgICB7IDEzMCAsICAzMiAsICA1NCAsICA3NiAsICA5OCAsICAxMTEwICwgIDEzMTIgLCAgMTUxNCAsICAxNzE2ICwgIDE5MTggLCAgMjEyMCAsICAyMzIyICwgIDI1MjQgLCAgMjcyNiAsICAyOTI4IH0sCgkJCSAgICB7IDEyOCAsICAzMzAgLCAgNTIgLCAgNzQgLCAgOTYgLCAgMTE4ICwgIDEzMTAgLCAgMTUxMiAsICAxNzE0ICwgIDE5MTYgLCAgMjExOCAsICAyMzIwICwgIDI1MjIgLCAgMjcyNCAsICAyOTI2IH0sCgkJCSAgICB7IDEyNiAsICAzMjggLCAgNTMwICwgIDcyICwgIDk0ICwgIDExNiAsICAxMzggLCAgMTUxMCAsICAxNzEyICwgIDE5MTQgLCAgMjExNiAsICAyMzE4ICwgIDI1MjAgLCAgMjcyMiAsICAyOTI0IH0sCgkJCSAgICB7IDEyNCAsICAzMjYgLCAgNTI4ICwgIDczMCAsICA5MiAsICAxMTQgLCAgMTM2ICwgIDE1OCAsICAxNzEwICwgIDE5MTIgLCAgMjExNCAsICAyMzE2ICwgIDI1MTggLCAgMjcyMCAsICAyOTIyIH0sCgkJCSAgICB7IDEyMiAsICAzMjQgLCAgNTI2ICwgIDcyOCAsICA5MzAgLCAgMTEyICwgIDEzNCAsICAxNTYgLCAgMTc4ICwgIDE5MTAgLCAgMjExMiAsICAyMzE0ICwgIDI1MTYgLCAgMjcxOCAsICAyOTIwIH0sCgkJCSAgICB7IDEyMCAsICAzMjIgLCAgNTI0ICwgIDcyNiAsICA5MjggLCAgMTEzMCAsICAxMzIgLCAgMTU0ICwgIDE3NiAsICAxOTggLCAgMjExMCAsICAyMzEyICwgIDI1MTQgLCAgMjcxNiAsICAyOTE4IH0sCgkJCSAgICB7IDExOCAsICAzMjAgLCAgNTIyICwgIDcyNCAsICA5MjYgLCAgMTEyOCAsICAxMzMwICwgIDE1MiAsICAxNzQgLCAgMTk2ICwgIDIxOCAsICAyMzEwICwgIDI1MTIgLCAgMjcxNCAsICAyOTE2IH0sCgkJCSAgICB7IDExNiAsICAzMTggLCAgNTIwICwgIDcyMiAsICA5MjQgLCAgMTEyNiAsICAxMzI4ICwgIDE1MzAgLCAgMTcyICwgIDE5NCAsICAyMTYgLCAgMjM4ICwgIDI1MTAgLCAgMjcxMiAsICAyOTE0IH0sCgkJCSAgICB7IDExNCAsICAzMTYgLCAgNTE4ICwgIDcyMCAsICA5MjIgLCAgMTEyNCAsICAxMzI2ICwgIDE1MjggLCAgMTczMCAsICAxOTIgLCAgMjE0ICwgIDIzNiAsICAyNTggLCAgMjcxMCAsICAyOTEyIH0sCgkJCSAgICB7IDExMiAsICAzMTQgLCAgNTE2ICwgIDcxOCAsICA5MjAgLCAgMTEyMiAsICAxMzI0ICwgIDE1MjYgLCAgMTcyOCAsICAxOTMwICwgIDIxMiAsICAyMzQgLCAgMjU2ICwgIDI3OCAsICAyOTEwIH0sCgkJCSAgICB7IDExMCAsICAzMTIgLCAgNTE0ICwgIDcxNiAsICA5MTggLCAgMTEyMCAsICAxMzIyICwgIDE1MjQgLCAgMTcyNiAsICAxOTI4ICwgIDIxMzAgLCAgMjMyICwgIDI1NCAsICAyNzYgLCAgMjk4IH0sCgkJCSAgICB7IDE4ICwgIDMxMCAsICA1MTIgLCAgNzE0ICwgIDkxNiAsICAxMTE4ICwgIDEzMjAgLCAgMTUyMiAsICAxNzI0ICwgIDE5MjYgLCAgMjEyOCAsICAyMzMwICwgIDI1MiAsICAyNzQgLCAgMjk2IH0sCgkJCSAgICB7IDE2ICwgIDM4ICwgIDUxMCAsICA3MTIgLCAgOTE0ICwgIDExMTYgLCAgMTMxOCAsICAxNTIwICwgIDE3MjIgLCAgMTkyNCAsICAyMTI2ICwgIDIzMjggLCAgMjUzMCAsICAyNzIgLCAgMjk0IH0sCgkJCSAgICB7IDE0ICwgIDM2ICwgIDU4ICwgIDcxMCAsICA5MTIgLCAgMTExNCAsICAxMzE2ICwgIDE1MTggLCAgMTcyMCAsICAxOTIyICwgIDIxMjQgLCAgMjMyNiAsICAyNTI4ICwgIDI3MzAgLCAgMjkyIH0sCgkJCSAgICB7ICAgMzQgLCAgNTYgLCAgNzggLCAgOTEwICwgIDExMTIgLCAgMTMxNCAsICAxNTE2ICwgIDE3MTggLCAgMTkyMCAsICAyMTIyICwgIDIzMjQgLCAgMjUyNiAsICAyNzI4ICwgIDI5MzAsIDEyIH0KCQl9OwoJCXJldHVybiBtYXBwaW5nOwoJfQoJCglwcml2YXRlIGludCBnZXRQaXJhdGVJRCgpIHsKCgkgICAgU3RyaW5nIHRlbXAgPSBJbnRlZ2VyLnRvU3RyaW5nKGRpc2sxLmdldCgwKSkgKyBJbnRlZ2VyLnRvU3RyaW5nKGRpc2syLmdldCgwKSk7CgkgICAgaW50IHBpcmF0ZUlEID0gSW50ZWdlci5wYXJzZUludCh0ZW1wKTsKCSAgICBTeXN0ZW0ub3V0LnByaW50bG4oInRlbXA6IiArIHRlbXApOwoJICAgIGludFtdW10gbWFwcGluZyA9IHRoaXMuZ2V0TWFwcGluZygpOwoJICAgIGZvcihpbnQgaT0wOyBpPG1hcHBpbmcubGVuZ3RoOyBpKyspIHsKCSAgICAJLy9TdHJpbmdbXSBzYXJyID0gQXJyYXlzLnN0cmVhbShtYXBwaW5nW2ldKS5tYXBUb09iaihTdHJpbmc6OnZhbHVlT2YpLnRvQXJyYXkoU3RyaW5nW106Om5ldyk7CgkgICAgCS8vU3lzdGVtLm91dC5wcmludGxuKCJtYXBwaW5nWyIrSW50ZWdlci50b1N0cmluZyhpKSsiXTogIitTdHJpbmcuam9pbigiIC0gIiwgc2FycikpOwoJICAgIAlmb3IgKGludCBqPTA7IGogPG1hcHBpbmdbaV0ubGVuZ3RoOyBqKyspIHsKCSAgICAJCWlmIChtYXBwaW5nW2ldW2pdID09IHBpcmF0ZUlEKSB7CgkgICAgCQkJcmV0dXJuIGk7CgkgICAgCQl9CgkJfQoJICAgIH0KCSAgICByZXR1cm4gLTE7IC8vIG5vdCBmb3VuZAoJfQp9