Advertisement
a53

cub2

a53
Oct 3rd, 2017
130
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.65 KB | None | 0 0
  1. #include <fstream>
  2. #include <bitset>
  3.  
  4. using namespace std;
  5.  
  6. ifstream f("cub2.in");
  7. ofstream g("cub2.out");
  8.  
  9. int m=2;
  10. bitset<8000005> pr;
  11.  
  12. void prim(int n)
  13. {
  14. int i=1,j;
  15. for (i=1;i<=n;i++)
  16. pr[i]=true;
  17. pr[1]=false;
  18. for (i=2;i<=n/2;i++)
  19. if (pr[i])
  20. {
  21. j=i+i;
  22. while (j<=n)
  23. {
  24. pr[j]=false;
  25. j+=i;
  26. }
  27. }
  28. }
  29.  
  30. int main()
  31. {
  32. int v,n,n2,k,z,p,i,j,f1=0,f2=0,f3=0,f4=0;
  33. m=2; pr[1]=2; pr[2]=3;
  34. f>>v;
  35. f>>n>>k;
  36. n2=n*n;
  37. prim(n2*n);
  38. if (v==1)
  39. {
  40. z=1;
  41. v=0;
  42. while (k-v>n2)
  43. {
  44. z++;
  45. v=v+n2;
  46. }
  47. if (z%2==1)
  48. {
  49. for (p=1;;p++)
  50. {
  51. for (j=p;j<=n-p+1;j++)
  52. {
  53. v++;
  54. if (v==k)
  55. {
  56. g<<p<<" "<<j<<" "<<z<<"\n";
  57. g.close();
  58. return 0;
  59. }
  60. }
  61. for (i=p+1;i<=n-p+1;i++)
  62. {
  63. v++;
  64. if (v==k)
  65. {
  66. g<<i<<" "<<n-p+1<<" "<<z<<"\n";
  67. g.close();
  68. return 0;
  69. }
  70. }
  71. for (j=n-p;j>=p;j--)
  72. {
  73. v++;
  74. if (v==k)
  75. {
  76. g<<n-p+1<<" "<<j<<" "<<z<<"\n";
  77. g.close();
  78. return 0;
  79. }
  80. }
  81. for (i=n-p;i>=p+1;i--)
  82. {
  83. v++;
  84. if (v==k)
  85. {
  86. g<<i<<" "<<p<<" "<<z<<"\n";
  87. g.close();
  88. return 0;
  89. }
  90. }
  91. }
  92. }
  93. else
  94. {
  95. v=v+n2+1;
  96. for (p=1;;p++)
  97. {
  98. for (j=p;j<=n-p+1;j++)
  99. {
  100. v--;
  101. if (v==k)
  102. {
  103. g<<p<<" "<<j<<" "<<z<<"\n";
  104. g.close();
  105. return 0;
  106. }
  107. }
  108. for (i=p+1;i<=n-p+1;i++)
  109. {
  110. v--;
  111. if (v==k)
  112. {
  113. g<<i<<" "<<n-p+1<<" "<<z<<"\n";
  114. g.close();
  115. return 0;
  116. }
  117. }
  118. for (j=n-p;j>=p;j--)
  119. {
  120. v--;
  121. if (v==k)
  122. {
  123. g<<n-p+1<<" "<<j<<" "<<z<<"\n";
  124. g.close();
  125. return 0;
  126. }
  127. }
  128. for (i=n-p;i>=p+1;i--)
  129. {
  130. v--;
  131. if (v==k)
  132. {
  133. g<<i<<" "<<p<<" "<<z<<"\n";
  134. g.close();
  135. return 0;
  136. }
  137. }
  138. }
  139.  
  140. }
  141. }
  142. else
  143. {
  144. for (z=1;z<=n;z++)
  145. if (z%2==1)
  146. {
  147. p=1; v=(z-1)*n2;
  148.  
  149. // coltul st-sus
  150. v++;
  151. if (pr[v]) { f1++; f4++; }
  152.  
  153. for (j=p+1; j<=n-p; j++)
  154. {
  155. v++;
  156. if (pr[v]) f1++;
  157. }
  158. // coltul dreapta sus
  159. v++;
  160. if (pr[v]) { f1++; f2++; }
  161.  
  162. for (i=p+1; i<=n-p; i++)
  163. {
  164. v++;
  165. if (pr[v]) f2++;
  166. }
  167. // coltul dreapta jos
  168. v++;
  169. if (pr[v]) { f2++; f3++; }
  170.  
  171. for (j=n-p; j>=p+1; j--)
  172. {
  173. v++;
  174. if (pr[v]) f3++;
  175. }
  176. // coltul stanga-jos
  177. v++;
  178. if (pr[v]) { f3++; f4++; }
  179.  
  180. for (i=n-p; i>=p+1; i--)
  181. {
  182. v++;
  183. if (pr[v]) f4++;
  184. }
  185.  
  186. v=v+n2-(4*n-4);
  187. }
  188. else
  189. {
  190. p=1;
  191. v=v+n2-(4*n-4);
  192. for (i=p+1; i<=n-p; i++)
  193. {
  194. v++;
  195. if (pr[v]) f4++;
  196. }
  197. // coltul stanga jos
  198. v++;
  199. if (pr[v]) { f4++; f3++; }
  200.  
  201. for (j=p+1; j<=n-p; j++)
  202. {
  203. v++;
  204. if (pr[v]) f3++;
  205. }
  206.  
  207. // coltul dreapta jos
  208. v++;
  209. if (pr[v]) { f3++; f2++; }
  210.  
  211. for (i=n-p; i>=p+1; i--)
  212. {
  213. v++;
  214. if (pr[v]) f2++;
  215. }
  216.  
  217. // coltul dreapta sus
  218. v++;
  219. if (pr[v]) {f2++; f1++; }
  220.  
  221. for (j=n-p; j>=p+1; j--)
  222. {
  223. v++;
  224. if (pr[v]) f1++;
  225. }
  226.  
  227. // coltul stanga sus
  228. v++;
  229. if (pr[v]) { f1++; f4++; }
  230. }
  231. g<<f1<<"\n"<<f2<<"\n"<<f3<<"\n"<<f4<<"\n";
  232. g.close();
  233.  
  234. }
  235. return 0;
  236. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement