Advertisement
Guest User

Untitled

a guest
Feb 7th, 2016
49
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.70 KB | None | 0 0
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3. #define rep(i,n) for(__typeof(n) i=0; i<(n); i++)
  4. #define REP2(i,n) for(__typeof(n) i=1; i<=(n); i++)
  5. #define FOR(i,a,b) for(__typeof(b) i=(a); i<=(b); i++)
  6. #define inf (1<<30)
  7. #define PI 3.14159265358979323846264338327950
  8. #define pb(x) push_back(x)
  9. #define ALL(x) x.begin(),x.end()
  10. #define SZ size()
  11. #define eps 1e-9
  12. #define VI vector<int>
  13. #define VS vector<string>
  14. #define ll long long
  15. #define MII map<int,int>
  16. #define MSI map<string,int>
  17. #define MIS map<int,string>
  18. #define CLEAR(x) memset(x,0,sizeof(x));
  19. #define MAX(a,b) (a>b?a:b)
  20. #define MIN(a,b) (a<b?a:b)
  21. #define all(x) x.begin(),x.end()
  22. #define sf(a) scanf("%ld",&a);
  23. #define maxn 1000006
  24. #define maxm 1000006
  25.  
  26.  
  27. /*long long c[201]={0};
  28. bool p[205]={0};
  29. void sieve()
  30. {
  31. long long i,j;
  32. j=4;
  33. while(j<=201)
  34. {
  35. p[j]=1;
  36. j+=2;
  37. }
  38. long k=1;
  39. for(i=3;i<=(201);i+=2)
  40. {
  41. if(p[i]==0)
  42. {
  43. j=i;
  44. while(j+i<=201)
  45. {
  46. p[j+i]=1;j+=i;
  47. }
  48. if(p[i+2]==0)
  49. c[k++]=i;
  50. }
  51. }
  52. }*/
  53. /*long long npr(long n,long m)
  54. {
  55. long long ret=1,i;
  56. for(i=1;i<=m;i++)
  57. ret*=(n-i+1);
  58. return ret;
  59. }*/
  60. /*long long ncr(long n,long m)
  61. {
  62. long long ret=1,i;
  63. for(i=1;i<=m;i++)
  64. {
  65. ret*=(n-i+1);
  66. ret/=i;
  67. }
  68. return ret;
  69. }*/
  70. /*long long fact(long n)
  71. {
  72. long long ret=1,i;
  73. for(i=1;i<=n;i++)
  74. ret*=i;
  75. return ret;
  76. }*/
  77. /*long long gcd(long n,long m)
  78. {
  79. while(m>0)
  80. {
  81. n=n%m;
  82. n=n^m;
  83. m=m^n;
  84. n=n^m;
  85. }
  86. return n;
  87. }*/
  88. /*long long lcm(long n,long m)
  89. {
  90. long long x=(n*m)/gcd(n,m);
  91. return x;
  92. }*/
  93. /*long is_prime(long n)
  94. {
  95. long long ii;
  96. if(n == 1)
  97. return 0;
  98. if(n == 2)
  99. return 1;
  100. if(n%2 == 0)
  101. return 0;
  102. for(ii=3;ii*ii<=n;ii=ii+2)
  103. if(n%ii == 0)
  104. return 0;
  105. return 1;
  106. }*/
  107. /*double area_triangle(double x1,double y1,double x2,double y2,double x3,double y3)
  108. {
  109. double a;
  110. a=x1*(y2-y3)+y1*(x3-x2)+((x2*y3)-(y2*x3))+eps;
  111. a=a/2+eps;
  112. return a;
  113. }*/
  114. /*double dist_2point(double x1,double y1,double x2,double y2)
  115. {
  116. double d;
  117. d=sqrt(((x1-x2)*(x1-x2))+((y1-y2)*(y1-y2)));
  118. return d;
  119. }*/
  120. /*
  121. long binary_search(long x,long l,long u)
  122. {
  123. long mid;
  124. if(l>u)
  125. return l;
  126. mid=floor(l+u)/2;
  127. if(ar1[mid]==x)
  128. return mid;
  129. else if(ar1[mid]>x)
  130. binary_search(x,l,mid-1);
  131. else
  132. binary_search(x,mid+1,u);
  133. }*/
  134. /*bool is_palindrome(const string &s, int start, int end)
  135. {
  136. int siz=end-start+1;
  137. if(siz%2==0)
  138. {
  139. int middle=start+siz/2;
  140. int i;
  141. for(i =0;middle-1-i>=0&&middle+i<=end&&s[middle-1-i]==s[middle+i];i++);
  142. if(middle-i-1<0||middle+i>end)
  143. return true;
  144. }
  145. else
  146. {
  147. int middle = start + siz/2;
  148. int i;
  149. for (i=1;middle-i>=0&&middle+i<=end&&s[middle-i]==s[middle+i];i++);
  150. if (middle-i<0||middle+i>end)
  151. return true;
  152. }
  153. return false;
  154. }*/
  155.  
  156. int main()
  157. {
  158. //freopen("Input.txt","r",stdin);
  159. long dasd;
  160. long a,n;
  161. while(cin>>n>>a)
  162. {
  163. long p,v,res=0,ar[505]={0},f=1,m,j;
  164. p=n*n+1;
  165. rep(i,n)
  166. {
  167. v=(n-a+1)*(i+1);
  168. res+=p-v;
  169. ar[i]=(p-v);
  170. }
  171. cout<<res<<endl;
  172. rep(i,n)
  173. {
  174. for(j=1;j<a;j++)
  175. {
  176. cout<<f<<" ";
  177. f++;
  178. }
  179. m=0;
  180. for(j=a;j<=n;j++)
  181. {
  182. cout<<ar[i]+m<<" ";
  183. m++;
  184. }
  185. cout<<endl;
  186. }
  187. }
  188. return 0;
  189. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement