Hex Artifact Content
Not logged in

Artifact d12dbd8cea2ce4313abe72ef606026ea5862b36e:


0000: 75 73 69 6e 67 20 6e 61 6d 65 73 70 61 63 65 20  using namespace 
0010: 73 74 64 3b 0a 0a 73 74 72 75 63 74 20 52 65 63  std;..struct Rec
0020: 74 61 6e 67 75 6c 61 72 47 72 69 64 0a 7b 0a 09  tangularGrid.{..
0030: 6c 6f 6e 67 20 6c 6f 6e 67 20 63 6f 75 6e 74 52  long long countR
0040: 65 63 74 61 6e 67 6c 65 73 28 69 6e 74 20 77 69  ectangles(int wi
0050: 64 74 68 2c 20 69 6e 74 20 68 65 69 67 68 74 29  dth, int height)
0060: 0a 09 7b 0a 09 09 6c 6f 6e 67 20 6c 6f 6e 67 20  ..{...long long 
0070: 77 20 3d 20 77 69 64 74 68 2b 31 3b 0a 09 09 6c  w = width+1;...l
0080: 6f 6e 67 20 6c 6f 6e 67 20 68 20 3d 20 68 65 69  ong long h = hei
0090: 67 68 74 2b 31 3b 0a 09 09 6c 6f 6e 67 20 6c 6f  ght+1;...long lo
00a0: 6e 67 20 73 20 3d 20 77 2a 28 77 2d 31 29 2f 32  ng s = w*(w-1)/2
00b0: 2a 68 2a 28 68 2d 31 29 2f 32 3b 0a 09 09 66 6f  *h*(h-1)/2;...fo
00c0: 72 28 6c 6f 6e 67 20 6c 6f 6e 67 20 78 3d 31 3b  r(long long x=1;
00d0: 20 78 3c 77 20 26 26 20 78 3c 68 3b 20 2b 2b 78   x<w && x<h; ++x
00e0: 29 0a 09 09 09 73 20 2d 3d 20 28 77 2d 78 29 2a  )....s -= (w-x)*
00f0: 28 68 2d 78 29 3b 0a 09 09 72 65 74 75 72 6e 20  (h-x);...return 
0100: 73 3b 0a 09 7d 0a 7d 3b 0a                       s;..}.};.