<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
	"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html lang="en" xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
	<!-- DOMjudge version 3.3.2 -->
<title>Source: s1320</title>
<link rel="shortcut icon" href="../images/favicon.png" type="image/png" />
<link rel="stylesheet" href="../style.css" type="text/css" />
<link rel="stylesheet" href="style_jury.css" type="text/css" />
<script type="text/javascript" src="../js/sorttable.js"></script>
<script type="text/javascript" src="../js/domjudge.js"></script>
</head>
<body>

<h2>Source code for submission s1320</h2>

<p><a href="#diff">Go to diff to previous submission</a></p>

<div class="tabber"><div class="tabbertab"><h2 class="filename"><a name="source0"></a>ladybug.cpp</h2> 

<pre class="output_text"><span class="lineno">  1</span>  #include &lt;iostream&gt;
<span class="lineno">  2</span>  #include &lt;string&gt;
<span class="lineno">  3</span>  #include &lt;queue&gt;
<span class="lineno">  4</span>  //#include &lt;tuple&gt;
<span class="lineno">  5</span>  
<span class="lineno">  6</span>  #define uint unsigned int
<span class="lineno">  7</span>  
<span class="lineno">  8</span>  using namespace std;
<span class="lineno">  9</span>  
<span class="lineno"> 10</span>  int main()
<span class="lineno"> 11</span>  {
<span class="lineno"> 12</span>      string chars;
<span class="lineno"> 13</span>      int n;
<span class="lineno"> 14</span>  
<span class="lineno"> 15</span>      while(cin &gt;&gt; chars &gt;&gt; n)
<span class="lineno"> 16</span>      {
<span class="lineno"> 17</span>          vector&lt;int&gt; c1;
<span class="lineno"> 18</span>          int i = 0;
<span class="lineno"> 19</span>          while((int)chars[i] &gt;= 48 &amp;&amp; (int)chars[i] &lt;= 57)
<span class="lineno"> 20</span>          {
<span class="lineno"> 21</span>              c1.push_back((int)chars[i]-48);
<span class="lineno"> 22</span>              i++;
<span class="lineno"> 23</span>          }
<span class="lineno"> 24</span>          bool plus = false, minus = false, krat = false, deleno = false, rovnasa = false;
<span class="lineno"> 25</span>          while(i &lt; chars.length())
<span class="lineno"> 26</span>          {
<span class="lineno"> 27</span>              switch(chars[i])
<span class="lineno"> 28</span>              {
<span class="lineno"> 29</span>                  case '+':
<span class="lineno"> 30</span>                      plus = true;
<span class="lineno"> 31</span>                      break;
<span class="lineno"> 32</span>                      case '-':
<span class="lineno"> 33</span>                      minus = true;
<span class="lineno"> 34</span>                      break;
<span class="lineno"> 35</span>                      case '*':
<span class="lineno"> 36</span>                      krat = true;
<span class="lineno"> 37</span>                      break;
<span class="lineno"> 38</span>                      case '/':
<span class="lineno"> 39</span>                      deleno = true;
<span class="lineno"> 40</span>                      break;
<span class="lineno"> 41</span>                      case '=':
<span class="lineno"> 42</span>                      rovnasa = true;
<span class="lineno"> 43</span>              }
<span class="lineno"> 44</span>              i++;
<span class="lineno"> 45</span>          }
<span class="lineno"> 46</span>  
<span class="lineno"> 47</span>          vector&lt;int&gt; c2, c3;
<span class="lineno"> 48</span>  
<span class="lineno"> 49</span>          {
<span class="lineno"> 50</span>              int count = c1.size();
<span class="lineno"> 51</span>              for(int i = 0; i &lt; count; i++)
<span class="lineno"> 52</span>              for(int j = 0; j &lt; count; j++)
<span class="lineno"> 53</span>              {
<span class="lineno"> 54</span>                  c2.push_back(c1[i]*10 + c1[j]);
<span class="lineno"> 55</span>              }
<span class="lineno"> 56</span>              for(int i = 0; i &lt; count; i++)
<span class="lineno"> 57</span>              for(int j = 0; j &lt; count; j++)
<span class="lineno"> 58</span>              for(int k = 0; k &lt; count; k++)
<span class="lineno"> 59</span>              {
<span class="lineno"> 60</span>                  c3.push_back(c1[i]*10 + c1[j] + c1[k]*100);
<span class="lineno"> 61</span>              }
<span class="lineno"> 62</span>          }
<span class="lineno"> 63</span>  
<span class="lineno"> 64</span>          int disp[1000];
<span class="lineno"> 65</span>          int valu[1000];
<span class="lineno"> 66</span>          for(int i = 0; i &lt; 1000; i++)
<span class="lineno"> 67</span>          {
<span class="lineno"> 68</span>              disp[i] = -1;
<span class="lineno"> 69</span>              valu[i] = -1;
<span class="lineno"> 70</span>          }
<span class="lineno"> 71</span>          vector&lt;vector&lt;int&gt; &gt; nval;
<span class="lineno"> 72</span>  
<span class="lineno"> 73</span>          if(n == 0)
<span class="lineno"> 74</span>          {
<span class="lineno"> 75</span>              cout &lt;&lt; 0 &lt;&lt; endl;
<span class="lineno"> 76</span>              continue;
<span class="lineno"> 77</span>          }
<span class="lineno"> 78</span>          if(!plus &amp;&amp; !minus &amp;&amp; !krat &amp;&amp; !deleno)
<span class="lineno"> 79</span>          {
<span class="lineno"> 80</span>              cout &lt;&lt; &quot;impossible&quot; &lt;&lt; endl;
<span class="lineno"> 81</span>              continue;
<span class="lineno"> 82</span>          }
<span class="lineno"> 83</span>  
<span class="lineno"> 84</span>          bool done = false;
<span class="lineno"> 85</span>  
<span class="lineno"> 86</span>          nval.push_back(vector&lt;int&gt;());
<span class="lineno"> 87</span>          nval.push_back(vector&lt;int&gt;());
<span class="lineno"> 88</span>          nval.push_back(vector&lt;int&gt;());
<span class="lineno"> 89</span>          nval.push_back(vector&lt;int&gt;());
<span class="lineno"> 90</span>  
<span class="lineno"> 91</span>          for(int i = 0; i &lt; c1.size(); i++)
<span class="lineno"> 92</span>          {
<span class="lineno"> 93</span>              int val = c1[i];
<span class="lineno"> 94</span>              if(val == n)
<span class="lineno"> 95</span>              {
<span class="lineno"> 96</span>                  cout &lt;&lt; 1 &lt;&lt; endl;
<span class="lineno"> 97</span>                  done = true;
<span class="lineno"> 98</span>              }
<span class="lineno"> 99</span>              nval[1].push_back(val);
<span class="lineno">100</span>              disp[val] = 1;
<span class="lineno">101</span>              valu[val] = 1;
<span class="lineno">102</span>          }
<span class="lineno">103</span>  
<span class="lineno">104</span>          if(done) continue;
<span class="lineno">105</span>  
<span class="lineno">106</span>          for(int i = 0; i &lt; c2.size(); i++)
<span class="lineno">107</span>          {
<span class="lineno">108</span>              int val = c2[i];
<span class="lineno">109</span>              if(val == n)
<span class="lineno">110</span>              {
<span class="lineno">111</span>                  cout &lt;&lt; 2 &lt;&lt; endl;
<span class="lineno">112</span>                  done = true;
<span class="lineno">113</span>              }
<span class="lineno">114</span>              nval[2].push_back(val);
<span class="lineno">115</span>              disp[val] = 2;
<span class="lineno">116</span>              valu[val] = 2;
<span class="lineno">117</span>          }
<span class="lineno">118</span>  
<span class="lineno">119</span>          if(done) continue;
<span class="lineno">120</span>  
<span class="lineno">121</span>          for(int i = 0; i &lt; c3.size(); i++)
<span class="lineno">122</span>          {
<span class="lineno">123</span>              int val = c3[i];
<span class="lineno">124</span>              if(val == n)
<span class="lineno">125</span>              {
<span class="lineno">126</span>                  cout &lt;&lt; 3 &lt;&lt; endl;
<span class="lineno">127</span>                  done = true;
<span class="lineno">128</span>              }
<span class="lineno">129</span>              nval[3].push_back(val);
<span class="lineno">130</span>              disp[val] = 3;
<span class="lineno">131</span>              valu[val] = 3;
<span class="lineno">132</span>          }
<span class="lineno">133</span>  
<span class="lineno">134</span>          if(done) continue;
<span class="lineno">135</span>  
<span class="lineno">136</span>          int q = 3;
<span class="lineno">137</span>  
<span class="lineno">138</span>          bool goon = true;
<span class="lineno">139</span>          bool finished = false;
<span class="lineno">140</span>  
<span class="lineno">141</span>          while(goon &amp;&amp; q &lt; 500)
<span class="lineno">142</span>          {
<span class="lineno">143</span>              nval.push_back(vector&lt;int&gt;());
<span class="lineno">144</span>              goon = false;
<span class="lineno">145</span>              if(rovnasa)
<span class="lineno">146</span>              {
<span class="lineno">147</span>                  int count = nval[q-2].size();
<span class="lineno">148</span>                  for(int i = 0; i &lt; count; i++)
<span class="lineno">149</span>                  {
<span class="lineno">150</span>                      int val = nval[q-2][i];
<span class="lineno">151</span>                      if(plus)
<span class="lineno">152</span>                      {
<span class="lineno">153</span>                          int newval = val+val;
<span class="lineno">154</span>                          if((newval &lt; 1000 &amp;&amp; newval &gt; 0) &amp;&amp; disp[newval]==-1)
<span class="lineno">155</span>                          {
<span class="lineno">156</span>                              disp[newval] = q;
<span class="lineno">157</span>                              nval[q].push_back(newval);
<span class="lineno">158</span>                              goon = true;
<span class="lineno">159</span>                              if(newval == n)
<span class="lineno">160</span>                              {
<span class="lineno">161</span>                                  cout &lt;&lt; q &lt;&lt; endl;
<span class="lineno">162</span>                                  finished = true;
<span class="lineno">163</span>                              }
<span class="lineno">164</span>                          }
<span class="lineno">165</span>                      }
<span class="lineno">166</span>                      if(krat)
<span class="lineno">167</span>                      {
<span class="lineno">168</span>                          int newval = val*val;
<span class="lineno">169</span>                          if((newval &lt; 1000 &amp;&amp; newval &gt; 0) &amp;&amp; disp[newval]==-1)
<span class="lineno">170</span>                          {
<span class="lineno">171</span>                              disp[newval] = q;
<span class="lineno">172</span>                              nval[q].push_back(newval);
<span class="lineno">173</span>                              goon = true;
<span class="lineno">174</span>                              if(newval == n)
<span class="lineno">175</span>                              {
<span class="lineno">176</span>                                  cout &lt;&lt; q &lt;&lt; endl;
<span class="lineno">177</span>                                  finished = true;
<span class="lineno">178</span>                              }
<span class="lineno">179</span>                          }
<span class="lineno">180</span>                      }
<span class="lineno">181</span>                      if(deleno)
<span class="lineno">182</span>                      {
<span class="lineno">183</span>                          int newval = val/val;
<span class="lineno">184</span>                          if((newval &lt; 1000 &amp;&amp; newval &gt; 0) &amp;&amp; disp[newval]==-1)
<span class="lineno">185</span>                          {
<span class="lineno">186</span>                              disp[newval] = q;
<span class="lineno">187</span>                              nval[q].push_back(newval);
<span class="lineno">188</span>                              goon = true;
<span class="lineno">189</span>                              if(newval == n)
<span class="lineno">190</span>                              {
<span class="lineno">191</span>                                  cout &lt;&lt; q &lt;&lt; endl;
<span class="lineno">192</span>                                  finished = true;
<span class="lineno">193</span>                              }
<span class="lineno">194</span>                          }
<span class="lineno">195</span>                      }
<span class="lineno">196</span>                  }
<span class="lineno">197</span>              }
<span class="lineno">198</span>  
<span class="lineno">199</span>              if(finished)
<span class="lineno">200</span>                  continue;
<span class="lineno">201</span>  
<span class="lineno">202</span>              if(plus)
<span class="lineno">203</span>              {
<span class="lineno">204</span>                  int count = nval[q-2].size();
<span class="lineno">205</span>                  for(int i = 0; i &lt; count; i++)
<span class="lineno">206</span>                  {
<span class="lineno">207</span>                      for(int j = 0; j &lt; c1.size(); j++)
<span class="lineno">208</span>                      {
<span class="lineno">209</span>                          int newval = nval[q-2][i]+c1[j];
<span class="lineno">210</span>                          if((newval &lt; 1000 &amp;&amp; newval &gt; 0) &amp;&amp; disp[newval]==-1)
<span class="lineno">211</span>                          {
<span class="lineno">212</span>                              disp[newval] = q+1;
<span class="lineno">213</span>                              nval[q].push_back(newval);
<span class="lineno">214</span>                              goon = true;
<span class="lineno">215</span>                              if(newval == n)
<span class="lineno">216</span>                              {
<span class="lineno">217</span>                                  cout &lt;&lt; q+1 &lt;&lt; endl;
<span class="lineno">218</span>                                  finished = true;
<span class="lineno">219</span>                              }
<span class="lineno">220</span>                          }
<span class="lineno">221</span>                      }
<span class="lineno">222</span>                  }
<span class="lineno">223</span>                  if(q-3 &gt; 0)
<span class="lineno">224</span>                  {
<span class="lineno">225</span>                      count = nval[q-3].size();
<span class="lineno">226</span>                      for(int i = 0; i &lt; count; i++)
<span class="lineno">227</span>                      {
<span class="lineno">228</span>                          for(int j = 0; j &lt; c2.size(); j++)
<span class="lineno">229</span>                          {
<span class="lineno">230</span>                              int newval = nval[q-3][i]+c2[j];
<span class="lineno">231</span>                              if((newval &lt; 1000 &amp;&amp; newval &gt; 0) &amp;&amp; disp[newval]==-1)
<span class="lineno">232</span>                              {
<span class="lineno">233</span>                                  disp[newval] = q+1;
<span class="lineno">234</span>                                  nval[q].push_back(newval);
<span class="lineno">235</span>                                  goon = true;
<span class="lineno">236</span>                                  if(newval == n)
<span class="lineno">237</span>                                  {
<span class="lineno">238</span>                                      cout &lt;&lt; q+1 &lt;&lt; endl;
<span class="lineno">239</span>                                      finished = true;
<span class="lineno">240</span>                                  }
<span class="lineno">241</span>                              }
<span class="lineno">242</span>                          }
<span class="lineno">243</span>                      }
<span class="lineno">244</span>                      if(q - 4 &gt; 0)
<span class="lineno">245</span>                      {
<span class="lineno">246</span>                          count = nval[q-4].size();
<span class="lineno">247</span>                          for(int i = 0; i &lt; count; i++)
<span class="lineno">248</span>                          {
<span class="lineno">249</span>                              for(int j = 0; j &lt; c3.size(); j++)
<span class="lineno">250</span>                              {
<span class="lineno">251</span>                                  int newval = nval[q-4][i]+c3[j];
<span class="lineno">252</span>                                  if((newval &lt; 1000 &amp;&amp; newval &gt; 0) &amp;&amp; disp[newval]==-1)
<span class="lineno">253</span>                                  {
<span class="lineno">254</span>                                      disp[newval] = q+1;
<span class="lineno">255</span>                                      nval[q].push_back(newval);
<span class="lineno">256</span>                                      goon = true;
<span class="lineno">257</span>                                      if(newval == n)
<span class="lineno">258</span>                                      {
<span class="lineno">259</span>                                          cout &lt;&lt; q+1 &lt;&lt; endl;
<span class="lineno">260</span>                                          finished = true;
<span class="lineno">261</span>                                      }
<span class="lineno">262</span>                                  }
<span class="lineno">263</span>                              }
<span class="lineno">264</span>                          }
<span class="lineno">265</span>                      }
<span class="lineno">266</span>                  }
<span class="lineno">267</span>              }
<span class="lineno">268</span>  
<span class="lineno">269</span>              if(minus)
<span class="lineno">270</span>              {
<span class="lineno">271</span>                  int count = nval[q-2].size();
<span class="lineno">272</span>                  for(int i = 0; i &lt; count; i++)
<span class="lineno">273</span>                  {
<span class="lineno">274</span>                      for(int j = 0; j &lt; c1.size(); j++)
<span class="lineno">275</span>                      {
<span class="lineno">276</span>                          int newval = nval[q-2][i]-c1[j];
<span class="lineno">277</span>                          if((newval &lt; 1000 &amp;&amp; newval &gt; 0) &amp;&amp; disp[newval]==-1)
<span class="lineno">278</span>                          {
<span class="lineno">279</span>                              disp[newval] = q+1;
<span class="lineno">280</span>                              nval[q].push_back(newval);
<span class="lineno">281</span>                              goon = true;
<span class="lineno">282</span>                              if(newval == n)
<span class="lineno">283</span>                              {
<span class="lineno">284</span>                                  cout &lt;&lt; q+1 &lt;&lt; endl;
<span class="lineno">285</span>                                  finished = true;
<span class="lineno">286</span>                              }
<span class="lineno">287</span>                          }
<span class="lineno">288</span>                      }
<span class="lineno">289</span>                  }
<span class="lineno">290</span>                  if(q-3 &gt; 0)
<span class="lineno">291</span>                  {
<span class="lineno">292</span>                      count = nval[q-3].size();
<span class="lineno">293</span>                      for(int i = 0; i &lt; count; i++)
<span class="lineno">294</span>                      {
<span class="lineno">295</span>                          for(int j = 0; j &lt; c2.size(); j++)
<span class="lineno">296</span>                          {
<span class="lineno">297</span>                              int newval = nval[q-3][i]-c2[j];
<span class="lineno">298</span>                              if((newval &lt; 1000 &amp;&amp; newval &gt; 0) &amp;&amp; disp[newval]==-1)
<span class="lineno">299</span>                              {
<span class="lineno">300</span>                                  disp[newval] = q+1;
<span class="lineno">301</span>                                  nval[q].push_back(newval);
<span class="lineno">302</span>                                  goon = true;
<span class="lineno">303</span>                                  if(newval == n)
<span class="lineno">304</span>                                  {
<span class="lineno">305</span>                                      cout &lt;&lt; q+1 &lt;&lt; endl;
<span class="lineno">306</span>                                      finished = true;
<span class="lineno">307</span>                                  }
<span class="lineno">308</span>                              }
<span class="lineno">309</span>                          }
<span class="lineno">310</span>                      }
<span class="lineno">311</span>                      if(q - 4 &gt; 0)
<span class="lineno">312</span>                      {
<span class="lineno">313</span>                          count = nval[q-4].size();
<span class="lineno">314</span>                          for(int i = 0; i &lt; count; i++)
<span class="lineno">315</span>                          {
<span class="lineno">316</span>                              for(int j = 0; j &lt; c3.size(); j++)
<span class="lineno">317</span>                              {
<span class="lineno">318</span>                                  int newval = nval[q-4][i]-c3[j];
<span class="lineno">319</span>                                  if((newval &lt; 1000 &amp;&amp; newval &gt; 0) &amp;&amp; disp[newval]==-1)
<span class="lineno">320</span>                                  {
<span class="lineno">321</span>                                      disp[newval] = q+1;
<span class="lineno">322</span>                                      nval[q].push_back(newval);
<span class="lineno">323</span>                                      goon = true;
<span class="lineno">324</span>                                      if(newval == n)
<span class="lineno">325</span>                                      {
<span class="lineno">326</span>                                          cout &lt;&lt; q+1 &lt;&lt; endl;
<span class="lineno">327</span>                                          finished = true;
<span class="lineno">328</span>                                      }
<span class="lineno">329</span>                                  }
<span class="lineno">330</span>                              }
<span class="lineno">331</span>                          }
<span class="lineno">332</span>                      }
<span class="lineno">333</span>                  }
<span class="lineno">334</span>              }
<span class="lineno">335</span>  
<span class="lineno">336</span>              if(krat)
<span class="lineno">337</span>              {
<span class="lineno">338</span>                  int count = nval[q-2].size();
<span class="lineno">339</span>                  for(int i = 0; i &lt; count; i++)
<span class="lineno">340</span>                  {
<span class="lineno">341</span>                      for(int j = 0; j &lt; c1.size(); j++)
<span class="lineno">342</span>                      {
<span class="lineno">343</span>                          int newval = nval[q-2][i]*c1[j];
<span class="lineno">344</span>                          if((newval &lt; 1000 &amp;&amp; newval &gt; 0) &amp;&amp; disp[newval]==-1)
<span class="lineno">345</span>                          {
<span class="lineno">346</span>                              disp[newval] = q+1;
<span class="lineno">347</span>                              nval[q].push_back(newval);
<span class="lineno">348</span>                              goon = true;
<span class="lineno">349</span>                              if(newval == n)
<span class="lineno">350</span>                              {
<span class="lineno">351</span>                                  cout &lt;&lt; q+1 &lt;&lt; endl;
<span class="lineno">352</span>                                  finished = true;
<span class="lineno">353</span>                              }
<span class="lineno">354</span>                          }
<span class="lineno">355</span>                      }
<span class="lineno">356</span>                  }
<span class="lineno">357</span>                  if(q-3 &gt; 0)
<span class="lineno">358</span>                  {
<span class="lineno">359</span>                      count = nval[q-3].size();
<span class="lineno">360</span>                      for(int i = 0; i &lt; count; i++)
<span class="lineno">361</span>                      {
<span class="lineno">362</span>                          for(int j = 0; j &lt; c2.size(); j++)
<span class="lineno">363</span>                          {
<span class="lineno">364</span>                              int newval = nval[q-3][i]*c2[j];
<span class="lineno">365</span>                              if((newval &lt; 1000 &amp;&amp; newval &gt; 0) &amp;&amp; disp[newval]==-1)
<span class="lineno">366</span>                              {
<span class="lineno">367</span>                                  disp[newval] = q+1;
<span class="lineno">368</span>                                  nval[q].push_back(newval);
<span class="lineno">369</span>                                  goon = true;
<span class="lineno">370</span>                                  if(newval == n)
<span class="lineno">371</span>                                  {
<span class="lineno">372</span>                                      cout &lt;&lt; q+1 &lt;&lt; endl;
<span class="lineno">373</span>                                      finished = true;
<span class="lineno">374</span>                                  }
<span class="lineno">375</span>                              }
<span class="lineno">376</span>                          }
<span class="lineno">377</span>                      }
<span class="lineno">378</span>                      if(q - 4 &gt; 0)
<span class="lineno">379</span>                      {
<span class="lineno">380</span>                          count = nval[q-4].size();
<span class="lineno">381</span>                          for(int i = 0; i &lt; count; i++)
<span class="lineno">382</span>                          {
<span class="lineno">383</span>                              for(int j = 0; j &lt; c3.size(); j++)
<span class="lineno">384</span>                              {
<span class="lineno">385</span>                                  int newval = nval[q-4][i]*c3[j];
<span class="lineno">386</span>                                  if((newval &lt; 1000 &amp;&amp; newval &gt; 0) &amp;&amp; disp[newval]==-1)
<span class="lineno">387</span>                                  {
<span class="lineno">388</span>                                      disp[newval] = q+1;
<span class="lineno">389</span>                                      nval[q].push_back(newval);
<span class="lineno">390</span>                                      goon = true;
<span class="lineno">391</span>                                      if(newval == n)
<span class="lineno">392</span>                                      {
<span class="lineno">393</span>                                          cout &lt;&lt; q+1 &lt;&lt; endl;
<span class="lineno">394</span>                                          finished = true;
<span class="lineno">395</span>                                      }
<span class="lineno">396</span>                                  }
<span class="lineno">397</span>                              }
<span class="lineno">398</span>                          }
<span class="lineno">399</span>                      }
<span class="lineno">400</span>                  }
<span class="lineno">401</span>              }
<span class="lineno">402</span>  
<span class="lineno">403</span>              if(deleno)
<span class="lineno">404</span>              {
<span class="lineno">405</span>                  int count = nval[q-2].size();
<span class="lineno">406</span>                  for(int i = 0; i &lt; count; i++)
<span class="lineno">407</span>                  {
<span class="lineno">408</span>                      for(int j = 0; j &lt; c1.size(); j++)
<span class="lineno">409</span>                      {
<span class="lineno">410</span>                          if(c1[j] != 0)
<span class="lineno">411</span>                          {
<span class="lineno">412</span>                          int newval = nval[q-2][i]/c1[j];
<span class="lineno">413</span>                          if((newval &lt; 1000 &amp;&amp; newval &gt; 0) &amp;&amp; disp[newval]==-1)
<span class="lineno">414</span>                          {
<span class="lineno">415</span>                              disp[newval] = q+1;
<span class="lineno">416</span>                              nval[q].push_back(newval);
<span class="lineno">417</span>                              goon = true;
<span class="lineno">418</span>                              if(newval == n)
<span class="lineno">419</span>                              {
<span class="lineno">420</span>                                  cout &lt;&lt; q+1 &lt;&lt; endl;
<span class="lineno">421</span>                                  finished = true;
<span class="lineno">422</span>                              }
<span class="lineno">423</span>                          }
<span class="lineno">424</span>                          }
<span class="lineno">425</span>                      }
<span class="lineno">426</span>                  }
<span class="lineno">427</span>                  if(q-3 &gt; 0)
<span class="lineno">428</span>                  {
<span class="lineno">429</span>                      count = nval[q-3].size();
<span class="lineno">430</span>                      for(int i = 0; i &lt; count; i++)
<span class="lineno">431</span>                      {
<span class="lineno">432</span>                          for(int j = 0; j &lt; c2.size(); j++)
<span class="lineno">433</span>                          {
<span class="lineno">434</span>                              if(c2[j]!=0)
<span class="lineno">435</span>                              {
<span class="lineno">436</span>  
<span class="lineno">437</span>  
<span class="lineno">438</span>                              int newval = nval[q-3][i]/c2[j];
<span class="lineno">439</span>                              if((newval &lt; 1000 &amp;&amp; newval &gt; 0) &amp;&amp; disp[newval]==-1)
<span class="lineno">440</span>                              {
<span class="lineno">441</span>                                  disp[newval] = q+1;
<span class="lineno">442</span>                                  nval[q].push_back(newval);
<span class="lineno">443</span>                                  goon = true;
<span class="lineno">444</span>                                  if(newval == n)
<span class="lineno">445</span>                                  {
<span class="lineno">446</span>                                      cout &lt;&lt; q+1 &lt;&lt; endl;
<span class="lineno">447</span>                                      finished = true;
<span class="lineno">448</span>                                  }
<span class="lineno">449</span>                              }
<span class="lineno">450</span>                              }
<span class="lineno">451</span>                          }
<span class="lineno">452</span>                      }
<span class="lineno">453</span>                      if(q - 4 &gt; 0)
<span class="lineno">454</span>                      {
<span class="lineno">455</span>                          count = nval[q-4].size();
<span class="lineno">456</span>                          for(int i = 0; i &lt; count; i++)
<span class="lineno">457</span>                          {
<span class="lineno">458</span>                              for(int j = 0; j &lt; c3.size(); j++)
<span class="lineno">459</span>                              {
<span class="lineno">460</span>                                  if(c3[j] != 0)
<span class="lineno">461</span>                                  {
<span class="lineno">462</span>  
<span class="lineno">463</span>                                  int newval = nval[q-4][i]/c3[j];
<span class="lineno">464</span>                                  if((newval &lt; 1000 &amp;&amp; newval &gt; 0) &amp;&amp; disp[newval]==-1)
<span class="lineno">465</span>                                  {
<span class="lineno">466</span>                                      disp[newval] = q+1;
<span class="lineno">467</span>                                      nval[q].push_back(newval);
<span class="lineno">468</span>                                      goon = true;
<span class="lineno">469</span>                                      if(newval == n)
<span class="lineno">470</span>                                      {
<span class="lineno">471</span>                                          cout &lt;&lt; q+1 &lt;&lt; endl;
<span class="lineno">472</span>                                          finished = true;
<span class="lineno">473</span>                                      }
<span class="lineno">474</span>                                  }
<span class="lineno">475</span>                                  }
<span class="lineno">476</span>                              }
<span class="lineno">477</span>                          }
<span class="lineno">478</span>                      }
<span class="lineno">479</span>                  }
<span class="lineno">480</span>              }
<span class="lineno">481</span>  
<span class="lineno">482</span>              q++;
<span class="lineno">483</span>          }
<span class="lineno">484</span>  
<span class="lineno">485</span>          if(!finished)
<span class="lineno">486</span>           cout &lt;&lt; &quot;impossible&quot; &lt;&lt; endl;
<span class="lineno">487</span>      }
<span class="lineno">488</span>  
<span class="lineno">489</span>      return 0;
<span class="lineno">490</span>  
<span class="lineno">491</span>  }
<span class="lineno">492</span>  
</pre>

</div></div><h2><a name="diff"></a>Diff to submission <a href="1303">s1303</a></h2>
<div class="tabber"><div class="tabbertab"><h2 class="filename"><a name="diff"></a>ladybug.cpp</h2>

<pre class="output_text"><span class='diff-del'>--- c4.s1303.cteam099.ladybug.cpp.0.ladybug.cpp</span>
<span class='diff-add'>+++ c4.s1320.cteam099.ladybug.cpp.0.ladybug.cpp</span>
@@ -152,5 +152,5 @@
                     {
                         int newval = val+val;
<span class='diff-del'>-                        if(newval &lt; 1000 &amp;&amp; disp[newval]==-1)</span>
<span class='diff-add'>+                        if((newval &lt; 1000 &amp;&amp; newval &gt; 0) &amp;&amp; disp[newval]==-1)</span>
                         {
                             disp[newval] = q;
@@ -167,5 +167,5 @@
                     {
                         int newval = val*val;
<span class='diff-del'>-                        if(newval &lt; 1000 &amp;&amp; disp[newval]==-1)</span>
<span class='diff-add'>+                        if((newval &lt; 1000 &amp;&amp; newval &gt; 0) &amp;&amp; disp[newval]==-1)</span>
                         {
                             disp[newval] = q;
@@ -182,5 +182,5 @@
                     {
                         int newval = val/val;
<span class='diff-del'>-                        if(newval &lt; 1000 &amp;&amp; disp[newval]==-1)</span>
<span class='diff-add'>+                        if((newval &lt; 1000 &amp;&amp; newval &gt; 0) &amp;&amp; disp[newval]==-1)</span>
                         {
                             disp[newval] = q;
@@ -208,5 +208,5 @@
                     {
                         int newval = nval[q-2][i]+c1[j];
<span class='diff-del'>-                        if(newval &lt; 1000 &amp;&amp; disp[newval]==-1)</span>
<span class='diff-add'>+                        if((newval &lt; 1000 &amp;&amp; newval &gt; 0) &amp;&amp; disp[newval]==-1)</span>
                         {
                             disp[newval] = q+1;
@@ -229,5 +229,5 @@
                         {
                             int newval = nval[q-3][i]+c2[j];
<span class='diff-del'>-                            if(newval &lt; 1000 &amp;&amp; disp[newval]==-1)</span>
<span class='diff-add'>+                            if((newval &lt; 1000 &amp;&amp; newval &gt; 0) &amp;&amp; disp[newval]==-1)</span>
                             {
                                 disp[newval] = q+1;
@@ -250,5 +250,5 @@
                             {
                                 int newval = nval[q-4][i]+c3[j];
<span class='diff-del'>-                                if(newval &lt; 1000 &amp;&amp; disp[newval]==-1)</span>
<span class='diff-add'>+                                if((newval &lt; 1000 &amp;&amp; newval &gt; 0) &amp;&amp; disp[newval]==-1)</span>
                                 {
                                     disp[newval] = q+1;
@@ -275,5 +275,5 @@
                     {
                         int newval = nval[q-2][i]-c1[j];
<span class='diff-del'>-                        if(newval &lt; 1000 &amp;&amp; disp[newval]==-1)</span>
<span class='diff-add'>+                        if((newval &lt; 1000 &amp;&amp; newval &gt; 0) &amp;&amp; disp[newval]==-1)</span>
                         {
                             disp[newval] = q+1;
@@ -296,5 +296,5 @@
                         {
                             int newval = nval[q-3][i]-c2[j];
<span class='diff-del'>-                            if(newval &lt; 1000 &amp;&amp; disp[newval]==-1)</span>
<span class='diff-add'>+                            if((newval &lt; 1000 &amp;&amp; newval &gt; 0) &amp;&amp; disp[newval]==-1)</span>
                             {
                                 disp[newval] = q+1;
@@ -317,5 +317,5 @@
                             {
                                 int newval = nval[q-4][i]-c3[j];
<span class='diff-del'>-                                if(newval &lt; 1000 &amp;&amp; disp[newval]==-1)</span>
<span class='diff-add'>+                                if((newval &lt; 1000 &amp;&amp; newval &gt; 0) &amp;&amp; disp[newval]==-1)</span>
                                 {
                                     disp[newval] = q+1;
@@ -342,5 +342,5 @@
                     {
                         int newval = nval[q-2][i]*c1[j];
<span class='diff-del'>-                        if(newval &lt; 1000 &amp;&amp; disp[newval]==-1)</span>
<span class='diff-add'>+                        if((newval &lt; 1000 &amp;&amp; newval &gt; 0) &amp;&amp; disp[newval]==-1)</span>
                         {
                             disp[newval] = q+1;
@@ -363,5 +363,5 @@
                         {
                             int newval = nval[q-3][i]*c2[j];
<span class='diff-del'>-                            if(newval &lt; 1000 &amp;&amp; disp[newval]==-1)</span>
<span class='diff-add'>+                            if((newval &lt; 1000 &amp;&amp; newval &gt; 0) &amp;&amp; disp[newval]==-1)</span>
                             {
                                 disp[newval] = q+1;
@@ -384,5 +384,5 @@
                             {
                                 int newval = nval[q-4][i]*c3[j];
<span class='diff-del'>-                                if(newval &lt; 1000 &amp;&amp; disp[newval]==-1)</span>
<span class='diff-add'>+                                if((newval &lt; 1000 &amp;&amp; newval &gt; 0) &amp;&amp; disp[newval]==-1)</span>
                                 {
                                     disp[newval] = q+1;
@@ -408,6 +408,8 @@
                     for(int j = 0; j &lt; c1.size(); j++)
                     {
<span class='diff-add'>+                        if(c1[j] != 0)</span>
<span class='diff-add'>+                        {</span>
                         int newval = nval[q-2][i]/c1[j];
<span class='diff-del'>-                        if(newval &lt; 1000 &amp;&amp; disp[newval]==-1)</span>
<span class='diff-add'>+                        if((newval &lt; 1000 &amp;&amp; newval &gt; 0) &amp;&amp; disp[newval]==-1)</span>
                         {
                             disp[newval] = q+1;
@@ -420,4 +422,5 @@
                             }
                         }
<span class='diff-add'>+                        }</span>
                     }
                 }
@@ -429,6 +432,10 @@
                         for(int j = 0; j &lt; c2.size(); j++)
                         {
<span class='diff-add'>+                            if(c2[j]!=0)</span>
<span class='diff-add'>+                            {</span>
<span class='diff-add'>+</span>
<span class='diff-add'>+</span>
                             int newval = nval[q-3][i]/c2[j];
<span class='diff-del'>-                            if(newval &lt; 1000 &amp;&amp; disp[newval]==-1)</span>
<span class='diff-add'>+                            if((newval &lt; 1000 &amp;&amp; newval &gt; 0) &amp;&amp; disp[newval]==-1)</span>
                             {
                                 disp[newval] = q+1;
@@ -441,4 +448,5 @@
                                 }
                             }
<span class='diff-add'>+                            }</span>
                         }
                     }
@@ -450,6 +458,9 @@
                             for(int j = 0; j &lt; c3.size(); j++)
                             {
<span class='diff-add'>+                                if(c3[j] != 0)</span>
<span class='diff-add'>+                                {</span>
<span class='diff-add'>+</span>
                                 int newval = nval[q-4][i]/c3[j];
<span class='diff-del'>-                                if(newval &lt; 1000 &amp;&amp; disp[newval]==-1)</span>
<span class='diff-add'>+                                if((newval &lt; 1000 &amp;&amp; newval &gt; 0) &amp;&amp; disp[newval]==-1)</span>
                                 {
                                     disp[newval] = q+1;
@@ -462,4 +473,5 @@
                                     }
                                 }
<span class='diff-add'>+                                }</span>
                             }
                         }
</pre>

</div></div>
</body>
</html>
