{"group":{"id":1,"name":"Community","lockable":false,"created_at":"2012-01-18T18:02:15.000Z","updated_at":"2026-05-06T00:09:22.000Z","description":"Problems submitted by members of the MATLAB Central community.","is_default":true,"created_by":161519,"badge_id":null,"featured":false,"trending":false,"solution_count_in_trending_period":0,"trending_last_calculated":"2026-05-06T00:00:00.000Z","image_id":null,"published":true,"community_created":false,"status_id":2,"is_default_group_for_player":false,"deleted_by":null,"deleted_at":null,"restored_by":null,"restored_at":null,"description_opc":null,"description_html":null,"published_at":null},"problems":[{"id":42290,"title":"GJam 2015 Rd1B: Noisy Neighbors","description":"This Challenge is derived from \u003chttps://code.google.com/codejam/contest/8224486/dashboard#s=p1 GJam 2015 Rd 1B: Noisy Neighbors\u003e. Fastest completion - 8 minutes.\r\n\r\nDetermine minimum number of adjacencies for N placed people in an RxC hotel matrix\r\n\r\nInput: m, an RxC zeros array; N number of rooms to be filled\r\n\r\nOutput: NN, minimum number of common walls\r\n\r\nExamples: Small Case 1\u003c=R*C\u003c=16, 0\u003c=N\u003c=R*C\r\n\r\n  [1 1 1;1 0 1;1 1 1] has minimum 8 common walls vs [1 1 1;1 1 1;1 1 0] has 10 common\r\n  [1;0;0;1] has 0 common walls\r\n  ones(2,3) has 7 common walls\r\n\r\n\r\nTheory: The small case can be solved with brute force using vector set with nchoosek followed by processing of convolutions. The large case has 10000 rooms making brute force hopeless.\r\n\r\n\r\nAdditional GJam solutions can be found at \u003chttp://www.go-hero.net/jam/15 Example GJam Matlab solutions\u003e. Select Find Solutions, change Language to Matlab. The Test Suite, at the bottom, contains a full GJam Matlab solution.","description_html":"\u003cp\u003eThis Challenge is derived from \u003ca href = \"https://code.google.com/codejam/contest/8224486/dashboard#s=p1\"\u003eGJam 2015 Rd 1B: Noisy Neighbors\u003c/a\u003e. Fastest completion - 8 minutes.\u003c/p\u003e\u003cp\u003eDetermine minimum number of adjacencies for N placed people in an RxC hotel matrix\u003c/p\u003e\u003cp\u003eInput: m, an RxC zeros array; N number of rooms to be filled\u003c/p\u003e\u003cp\u003eOutput: NN, minimum number of common walls\u003c/p\u003e\u003cp\u003eExamples: Small Case 1\u0026lt;=R*C\u0026lt;=16, 0\u0026lt;=N\u0026lt;=R*C\u003c/p\u003e\u003cpre class=\"language-matlab\"\u003e[1 1 1;1 0 1;1 1 1] has minimum 8 common walls vs [1 1 1;1 1 1;1 1 0] has 10 common\r\n[1;0;0;1] has 0 common walls\r\nones(2,3) has 7 common walls\r\n\u003c/pre\u003e\u003cp\u003eTheory: The small case can be solved with brute force using vector set with nchoosek followed by processing of convolutions. The large case has 10000 rooms making brute force hopeless.\u003c/p\u003e\u003cp\u003eAdditional GJam solutions can be found at \u003ca href = \"http://www.go-hero.net/jam/15\"\u003eExample GJam Matlab solutions\u003c/a\u003e. Select Find Solutions, change Language to Matlab. The Test Suite, at the bottom, contains a full GJam Matlab solution.\u003c/p\u003e","function_template":"function NN = Noisy_Neighbors(m,N)\r\n% m is an RxC zeros array\r\n% N is number of cells to be occupied\r\n% NN is number of edge adjacencies\r\n% Goal is to minimize NN\r\n\r\n  NN=0;\r\nend","test_suite":"tic\r\n%%\r\nm=zeros(5,2);N=8;\r\nNNexp=7;\r\nNN=Noisy_Neighbors(m,N);\r\nassert(isequal(NNexp,NN))\r\n%%\r\nm=zeros(3,5);N=14;\r\nNNexp=18;\r\nNN=Noisy_Neighbors(m,N);\r\nassert(isequal(NNexp,NN))\r\n%%\r\nm=zeros(1,16);N=1;\r\nNNexp=0;\r\nNN=Noisy_Neighbors(m,N);\r\nassert(isequal(NNexp,NN))\r\n%%\r\nm=zeros(3,5);N=1;\r\nNNexp=0;\r\nNN=Noisy_Neighbors(m,N);\r\nassert(isequal(NNexp,NN))\r\n%%\r\nm=zeros(8,2);N=12;\r\nNNexp=10;\r\nNN=Noisy_Neighbors(m,N);\r\nassert(isequal(NNexp,NN))\r\n%%\r\nm=zeros(16,1);N=1;\r\nNNexp=0;\r\nNN=Noisy_Neighbors(m,N);\r\nassert(isequal(NNexp,NN))\r\n%%\r\nm=zeros(3,3);N=6;\r\nNNexp=3;\r\nNN=Noisy_Neighbors(m,N);\r\nassert(isequal(NNexp,NN))\r\n%%\r\nm=zeros(2,6);N=12;\r\nNNexp=16;\r\nNN=Noisy_Neighbors(m,N);\r\nassert(isequal(NNexp,NN))\r\n%%\r\nm=zeros(15,1);N=0;\r\nNNexp=0;\r\nNN=Noisy_Neighbors(m,N);\r\nassert(isequal(NNexp,NN))\r\n%%\r\nm=zeros(5,3);N=7;\r\nNNexp=0;\r\nNN=Noisy_Neighbors(m,N);\r\nassert(isequal(NNexp,NN))\r\n%%\r\nm=zeros(4,3);N=5;\r\nNNexp=0;\r\nNN=Noisy_Neighbors(m,N);\r\nassert(isequal(NNexp,NN))\r\n%%\r\nm=zeros(3,5);N=11;\r\nNNexp=8;\r\nNN=Noisy_Neighbors(m,N);\r\nassert(isequal(NNexp,NN))\r\n%%\r\nm=zeros(7,2);N=13;\r\nNNexp=16;\r\nNN=Noisy_Neighbors(m,N);\r\nassert(isequal(NNexp,NN))\r\n%%\r\nm=zeros(15,1);N=6;\r\nNNexp=0;\r\nNN=Noisy_Neighbors(m,N);\r\nassert(isequal(NNexp,NN))\r\n%%\r\nm=zeros(15,1);N=15;\r\nNNexp=14;\r\nNN=Noisy_Neighbors(m,N);\r\nassert(isequal(NNexp,NN))\r\n%%\r\nm=zeros(4,4);N=9;\r\nNNexp=2;\r\nNN=Noisy_Neighbors(m,N);\r\nassert(isequal(NNexp,NN))\r\n%%\r\nm=zeros(5,3);N=8;\r\nNNexp=0;\r\nNN=Noisy_Neighbors(m,N);\r\nassert(isequal(NNexp,NN))\r\n%%\r\nm=zeros(3,5);N=6;\r\nNNexp=0;\r\nNN=Noisy_Neighbors(m,N);\r\nassert(isequal(NNexp,NN))\r\n%%\r\nm=zeros(16,1);N=7;\r\nNNexp=0;\r\nNN=Noisy_Neighbors(m,N);\r\nassert(isequal(NNexp,NN))\r\n%%\r\nm=zeros(1,15);N=7;\r\nNNexp=0;\r\nNN=Noisy_Neighbors(m,N);\r\nassert(isequal(NNexp,NN))\r\n%%\r\nm=zeros(4,3);N=12;\r\nNNexp=17;\r\nNN=Noisy_Neighbors(m,N);\r\nassert(isequal(NNexp,NN))\r\n%%\r\nm=zeros(5,3);N=13;\r\nNNexp=14;\r\nNN=Noisy_Neighbors(m,N);\r\nassert(isequal(NNexp,NN))\r\n%%\r\nm=zeros(2,4);N=5;\r\nNNexp=2;\r\nNN=Noisy_Neighbors(m,N);\r\nassert(isequal(NNexp,NN))\r\n%%\r\nm=zeros(5,3);N=5;\r\nNNexp=0;\r\nNN=Noisy_Neighbors(m,N);\r\nassert(isequal(NNexp,NN))\r\n%%\r\nm=zeros(16,1);N=16;\r\nNNexp=15;\r\nNN=Noisy_Neighbors(m,N);\r\nassert(isequal(NNexp,NN))\r\n%%\r\nm=zeros(2,5);N=8;\r\nNNexp=7;\r\nNN=Noisy_Neighbors(m,N);\r\nassert(isequal(NNexp,NN))\r\n%%\r\nm=zeros(5,3);N=4;\r\nNNexp=0;\r\nNN=Noisy_Neighbors(m,N);\r\nassert(isequal(NNexp,NN))\r\n%%\r\nm=zeros(5,3);N=10;\r\nNNexp=6;\r\nNN=Noisy_Neighbors(m,N);\r\nassert(isequal(NNexp,NN))\r\n%%\r\nm=zeros(4,4);N=7;\r\nNNexp=0;\r\nNN=Noisy_Neighbors(m,N);\r\nassert(isequal(NNexp,NN))\r\n%%\r\nm=zeros(3,5);N=9;\r\nNNexp=3;\r\nNN=Noisy_Neighbors(m,N);\r\nassert(isequal(NNexp,NN))\r\n%%\r\nm=zeros(4,2);N=2;\r\nNNexp=0;\r\nNN=Noisy_Neighbors(m,N);\r\nassert(isequal(NNexp,NN))\r\n%%\r\nm=zeros(4,4);N=15;\r\nNNexp=20;\r\nNN=Noisy_Neighbors(m,N);\r\nassert(isequal(NNexp,NN))\r\n%%\r\nm=zeros(2,2);N=4;\r\nNNexp=4;\r\nNN=Noisy_Neighbors(m,N);\r\nassert(isequal(NNexp,NN))\r\n%%\r\nm=zeros(5,3);N=11;\r\nNNexp=8;\r\nNN=Noisy_Neighbors(m,N);\r\nassert(isequal(NNexp,NN))\r\n%%\r\nm=zeros(4,4);N=8;\r\nNNexp=0;\r\nNN=Noisy_Neighbors(m,N);\r\nassert(isequal(NNexp,NN))\r\n%%\r\nm=zeros(1,16);N=9;\r\nNNexp=1;\r\nNN=Noisy_Neighbors(m,N);\r\nassert(isequal(NNexp,NN))\r\n%%\r\nm=zeros(4,4);N=16;\r\nNNexp=24;\r\nNN=Noisy_Neighbors(m,N);\r\nassert(isequal(NNexp,NN))\r\n%%\r\nm=zeros(1,15);N=6;\r\nNNexp=0;\r\nNN=Noisy_Neighbors(m,N);\r\nassert(isequal(NNexp,NN))\r\n%%\r\nm=zeros(15,1);N=8;\r\nNNexp=0;\r\nNN=Noisy_Neighbors(m,N);\r\nassert(isequal(NNexp,NN))\r\n%%\r\nm=zeros(5,3);N=6;\r\nNNexp=0;\r\nNN=Noisy_Neighbors(m,N);\r\nassert(isequal(NNexp,NN))\r\n%%\r\nm=zeros(16,1);N=9;\r\nNNexp=1;\r\nNN=Noisy_Neighbors(m,N);\r\nassert(isequal(NNexp,NN))\r\n%%\r\nm=zeros(3,5);N=15;\r\nNNexp=22;\r\nNN=Noisy_Neighbors(m,N);\r\nassert(isequal(NNexp,NN))\r\n%%\r\nm=zeros(1,15);N=1;\r\nNNexp=0;\r\nNN=Noisy_Neighbors(m,N);\r\nassert(isequal(NNexp,NN))\r\n%%\r\nm=zeros(1,15);N=0;\r\nNNexp=0;\r\nNN=Noisy_Neighbors(m,N);\r\nassert(isequal(NNexp,NN))\r\n%%\r\nm=zeros(2,5);N=9;\r\nNNexp=10;\r\nNN=Noisy_Neighbors(m,N);\r\nassert(isequal(NNexp,NN))\r\n%%\r\nm=zeros(3,5);N=10;\r\nNNexp=6;\r\nNN=Noisy_Neighbors(m,N);\r\nassert(isequal(NNexp,NN))\r\n%%\r\nm=zeros(1,15);N=15;\r\nNNexp=14;\r\nNN=Noisy_Neighbors(m,N);\r\nassert(isequal(NNexp,NN))\r\n%%\r\nm=zeros(3,2);N=0;\r\nNNexp=0;\r\nNN=Noisy_Neighbors(m,N);\r\nassert(isequal(NNexp,NN))\r\n%%\r\nm=zeros(5,3);N=2;\r\nNNexp=0;\r\nNN=Noisy_Neighbors(m,N);\r\nassert(isequal(NNexp,NN))\r\n%%\r\nm=zeros(5,3);N=1;\r\nNNexp=0;\r\nNN=Noisy_Neighbors(m,N);\r\nassert(isequal(NNexp,NN))\r\n%%\r\nm=zeros(5,2);N=4;\r\nNNexp=0;\r\nNN=Noisy_Neighbors(m,N);\r\nassert(isequal(NNexp,NN))\r\n%%\r\nm=zeros(3,5);N=4;\r\nNNexp=0;\r\nNN=Noisy_Neighbors(m,N);\r\nassert(isequal(NNexp,NN))\r\n%%\r\nm=zeros(2,7);N=13;\r\nNNexp=16;\r\nNN=Noisy_Neighbors(m,N);\r\nassert(isequal(NNexp,NN))\r\n%%\r\nm=zeros(3,3);N=0;\r\nNNexp=0;\r\nNN=Noisy_Neighbors(m,N);\r\nassert(isequal(NNexp,NN))\r\n%%\r\nm=zeros(7,2);N=11;\r\nNNexp=10;\r\nNN=Noisy_Neighbors(m,N);\r\nassert(isequal(NNexp,NN))\r\n%%\r\nm=zeros(4,4);N=0;\r\nNNexp=0;\r\nNN=Noisy_Neighbors(m,N);\r\nassert(isequal(NNexp,NN))\r\n%%\r\nm=zeros(1,1);N=0;\r\nNNexp=0;\r\nNN=Noisy_Neighbors(m,N);\r\nassert(isequal(NNexp,NN))\r\n%%\r\nm=zeros(2,6);N=9;\r\nNNexp=7;\r\nNN=Noisy_Neighbors(m,N);\r\nassert(isequal(NNexp,NN))\r\n%%\r\nm=zeros(3,5);N=3;\r\nNNexp=0;\r\nNN=Noisy_Neighbors(m,N);\r\nassert(isequal(NNexp,NN))\r\n%%\r\nm=zeros(5,3);N=15;\r\nNNexp=22;\r\nNN=Noisy_Neighbors(m,N);\r\nassert(isequal(NNexp,NN))\r\n%%\r\nm=zeros(5,2);N=6;\r\nNNexp=2;\r\nNN=Noisy_Neighbors(m,N);\r\nassert(isequal(NNexp,NN))\r\n%%\r\nm=zeros(3,4);N=12;\r\nNNexp=17;\r\nNN=Noisy_Neighbors(m,N);\r\nassert(isequal(NNexp,NN))\r\n%%\r\nm=zeros(2,3);N=6;\r\nNNexp=7;\r\nNN=Noisy_Neighbors(m,N);\r\nassert(isequal(NNexp,NN))\r\n%%\r\nm=zeros(1,1);N=1;\r\nNNexp=0;\r\nNN=Noisy_Neighbors(m,N);\r\nassert(isequal(NNexp,NN))\r\n%%\r\nm=zeros(15,1);N=1;\r\nNNexp=0;\r\nNN=Noisy_Neighbors(m,N);\r\nassert(isequal(NNexp,NN))\r\n%%\r\nm=zeros(1,16);N=16;\r\nNNexp=15;\r\nNN=Noisy_Neighbors(m,N);\r\nassert(isequal(NNexp,NN))\r\n%%\r\nm=zeros(2,2);N=2;\r\nNNexp=0;\r\nNN=Noisy_Neighbors(m,N);\r\nassert(isequal(NNexp,NN))\r\n%%\r\nm=zeros(3,3);N=9;\r\nNNexp=12;\r\nNN=Noisy_Neighbors(m,N);\r\nassert(isequal(NNexp,NN))\r\n%%\r\nm=zeros(16,1);N=8;\r\nNNexp=0;\r\nNN=Noisy_Neighbors(m,N);\r\nassert(isequal(NNexp,NN))\r\n%%\r\nm=zeros(9,1);N=6;\r\nNNexp=2;\r\nNN=Noisy_Neighbors(m,N);\r\nassert(isequal(NNexp,NN))\r\n%%\r\nm=zeros(5,3);N=12;\r\nNNexp=11;\r\nNN=Noisy_Neighbors(m,N);\r\nassert(isequal(NNexp,NN))\r\n%%\r\nm=zeros(2,2);N=3;\r\nNNexp=2;\r\nNN=Noisy_Neighbors(m,N);\r\nassert(isequal(NNexp,NN))\r\n%%\r\nm=zeros(3,5);N=7;\r\nNNexp=0;\r\nNN=Noisy_Neighbors(m,N);\r\nassert(isequal(NNexp,NN))\r\n%%\r\nm=zeros(7,2);N=0;\r\nNNexp=0;\r\nNN=Noisy_Neighbors(m,N);\r\nassert(isequal(NNexp,NN))\r\n%%\r\nm=zeros(4,3);N=6;\r\nNNexp=0;\r\nNN=Noisy_Neighbors(m,N);\r\nassert(isequal(NNexp,NN))\r\n%%\r\nm=zeros(2,3);N=4;\r\nNNexp=2;\r\nNN=Noisy_Neighbors(m,N);\r\nassert(isequal(NNexp,NN))\r\n%%\r\nm=zeros(1,15);N=8;\r\nNNexp=0;\r\nNN=Noisy_Neighbors(m,N);\r\nassert(isequal(NNexp,NN))\r\n%%\r\nm=zeros(16,1);N=0;\r\nNNexp=0;\r\nNN=Noisy_Neighbors(m,N);\r\nassert(isequal(NNexp,NN))\r\n%%\r\nm=zeros(5,3);N=9;\r\nNNexp=3;\r\nNN=Noisy_Neighbors(m,N);\r\nassert(isequal(NNexp,NN))\r\n%%\r\nm=zeros(15,1);N=7;\r\nNNexp=0;\r\nNN=Noisy_Neighbors(m,N);\r\nassert(isequal(NNexp,NN))\r\n%%\r\nm=zeros(2,4);N=6;\r\nNNexp=4;\r\nNN=Noisy_Neighbors(m,N);\r\nassert(isequal(NNexp,NN))\r\n%%\r\nm=zeros(1,16);N=7;\r\nNNexp=0;\r\nNN=Noisy_Neighbors(m,N);\r\nassert(isequal(NNexp,NN))\r\n%%\r\nm=zeros(3,5);N=12;\r\nNNexp=11;\r\nNN=Noisy_Neighbors(m,N);\r\nassert(isequal(NNexp,NN))\r\n%%\r\nm=zeros(1,16);N=8;\r\nNNexp=0;\r\nNN=Noisy_Neighbors(m,N);\r\nassert(isequal(NNexp,NN))\r\n%%\r\nm=zeros(4,4);N=1;\r\nNNexp=0;\r\nNN=Noisy_Neighbors(m,N);\r\nassert(isequal(NNexp,NN))\r\n%%\r\nm=zeros(3,5);N=0;\r\nNNexp=0;\r\nNN=Noisy_Neighbors(m,N);\r\nassert(isequal(NNexp,NN))\r\n%%\r\nm=zeros(3,5);N=8;\r\nNNexp=0;\r\nNN=Noisy_Neighbors(m,N);\r\nassert(isequal(NNexp,NN))\r\n%%\r\nm=zeros(1,16);N=0;\r\nNNexp=0;\r\nNN=Noisy_Neighbors(m,N);\r\nassert(isequal(NNexp,NN))\r\n%%\r\nm=zeros(5,3);N=3;\r\nNNexp=0;\r\nNN=Noisy_Neighbors(m,N);\r\nassert(isequal(NNexp,NN))\r\n%%\r\nm=zeros(5,3);N=0;\r\nNNexp=0;\r\nNN=Noisy_Neighbors(m,N);\r\nassert(isequal(NNexp,NN))\r\n%%\r\nm=zeros(1,13);N=9;\r\nNNexp=4;\r\nNN=Noisy_Neighbors(m,N);\r\nassert(isequal(NNexp,NN))\r\n%%\r\nm=zeros(3,5);N=2;\r\nNNexp=0;\r\nNN=Noisy_Neighbors(m,N);\r\nassert(isequal(NNexp,NN))\r\n%%\r\nm=zeros(1,9);N=6;\r\nNNexp=2;\r\nNN=Noisy_Neighbors(m,N);\r\nassert(isequal(NNexp,NN))\r\n%%\r\nm=zeros(6,2);N=12;\r\nNNexp=16;\r\nNN=Noisy_Neighbors(m,N);\r\nassert(isequal(NNexp,NN))\r\n%%\r\nm=zeros(4,3);N=8;\r\nNNexp=4;\r\nNN=Noisy_Neighbors(m,N);\r\nassert(isequal(NNexp,NN))\r\n%%\r\nm=zeros(3,5);N=5;\r\nNNexp=0;\r\nNN=Noisy_Neighbors(m,N);\r\nassert(isequal(NNexp,NN))\r\n%%\r\nm=zeros(5,3);N=14;\r\nNNexp=18;\r\nNN=Noisy_Neighbors(m,N);\r\nassert(isequal(NNexp,NN))\r\n%%\r\nm=zeros(4,3);N=7;\r\nNNexp=2;\r\nNN=Noisy_Neighbors(m,N);\r\nassert(isequal(NNexp,NN))\r\n%%\r\nm=zeros(6,2);N=4;\r\nNNexp=0;\r\nNN=Noisy_Neighbors(m,N);\r\nassert(isequal(NNexp,NN))\r\n%%\r\nm=zeros(3,5);N=13;\r\nNNexp=14;\r\nNN=Noisy_Neighbors(m,N);\r\nassert(isequal(NNexp,NN))\r\n%%\r\ntoc\r\n%%\r\n% function GJam_Rd1B_2015b\r\n%  fn='B-small-practice.in';\r\n%  [data] = read_file(fn); % \r\n%  fidG = fopen('B-small-practice.out', 'w');\r\n%  \r\n% tic\r\n% for i=1:size(data,2) % Cell array has N cols of cases\r\n%  NN = Noisy_Neighbors(data{i});\r\n%  fprintf(fidG,'Case #%i: %i\\n',i,NN);\r\n%  \r\n%  fprintf('Case #%i: %i\\n',i,NN);   \r\n% end\r\n% toc\r\n% fclose(fidG);\r\n% end\r\n% \r\n% function val=Noisy_Neighbors(v)\r\n%  r=v(1);c=v(2);N=v(3);\r\n%  m=zeros(r,c);\r\n%  if N==0\r\n%   val=0;\r\n%   return;\r\n%  end\r\n%  \r\n% ptrset=find(m==0);\r\n% \r\n% val=Inf;\r\n% tlocs=nchoosek(ptrset,N);\r\n% for i=1:size(tlocs,1)\r\n%  m=m*0;\r\n%  tlocv=tlocs(i,:);\r\n%  m(tlocv)=1;\r\n%  vchk=nnz(conv2(m,[1 1])==2)+nnz(conv2(m,[1;1])==2);\r\n%  \r\n%  if vchk\u003cval\r\n%   val=vchk;\r\n%  end\r\n%  if val==0,break;end;\r\n% end\r\n%  \r\n% end\r\n% \r\n% function [d] = read_file(fn)\r\n% d={};\r\n% fid=fopen(fn);\r\n% fgetl(fid); % Total Count ignore\r\n% ptr=0;\r\n% while ~feof(fid)\r\n%  ptr=ptr+1;\r\n%  v=str2num(fgetl(fid)); % r,c,N\r\n%  \r\n%  d{ptr}=v;\r\n%  \r\n% end % feof\r\n%  fclose(fid);\r\n% \r\n% end % read_file\r\n%%\r\ntoc\r\n\r\n\r\n","published":true,"deleted":false,"likes_count":0,"comments_count":5,"created_by":3097,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":10,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2015-05-03T17:57:59.000Z","updated_at":"2015-05-03T18:31:40.000Z","published_at":"2015-05-03T18:31:40.000Z","restored_at":null,"restored_by":null,"spam":false,"simulink":false,"admin_reviewed":false,"description_opc":"{\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"targetMode\":\"\",\"relationshipId\":\"rId1\",\"target\":\"/matlab/document.xml\"},{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/output\",\"targetMode\":\"\",\"relationshipId\":\"rId2\",\"target\":\"/matlab/output.xml\"}],\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"relationship\":[],\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\\n\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThis Challenge is derived from\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"https://code.google.com/codejam/contest/8224486/dashboard#s=p1\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eGJam 2015 Rd 1B: Noisy Neighbors\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e. Fastest completion - 8 minutes.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eDetermine minimum number of adjacencies for N placed people in an RxC hotel matrix\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eInput: m, an RxC zeros array; N number of rooms to be filled\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eOutput: NN, minimum number of common walls\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eExamples: Small Case 1\u0026lt;=R*C\u0026lt;=16, 0\u0026lt;=N\u0026lt;=R*C\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"code\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e\u003c![CDATA[[1 1 1;1 0 1;1 1 1] has minimum 8 common walls vs [1 1 1;1 1 1;1 1 0] has 10 common\\n[1;0;0;1] has 0 common walls\\nones(2,3) has 7 common walls]]\u003e\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eTheory: The small case can be solved with brute force using vector set with nchoosek followed by processing of convolutions. The large case has 10000 rooms making brute force hopeless.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eAdditional GJam solutions can be found at\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"http://www.go-hero.net/jam/15\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eExample GJam Matlab solutions\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e. Select Find Solutions, change Language to Matlab. The Test Suite, at the bottom, contains a full GJam Matlab solution.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\"},{\"partUri\":\"/matlab/output.xml\",\"contentType\":\"text/xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\" standalone=\\\"no\\\" ?\u003e\u003cembeddedOutputs\u003e\u003cmetaData\u003e\u003cevaluationState\u003emanual\u003c/evaluationState\u003e\u003clayoutState\u003ecode\u003c/layoutState\u003e\u003coutputStatus\u003eready\u003c/outputStatus\u003e\u003c/metaData\u003e\u003coutputArray type=\\\"array\\\"/\u003e\u003cregionArray type=\\\"array\\\"/\u003e\u003c/embeddedOutputs\u003e\"}]}"}],"problem_search":{"errors":[],"problems":[{"id":42290,"title":"GJam 2015 Rd1B: Noisy Neighbors","description":"This Challenge is derived from \u003chttps://code.google.com/codejam/contest/8224486/dashboard#s=p1 GJam 2015 Rd 1B: Noisy Neighbors\u003e. Fastest completion - 8 minutes.\r\n\r\nDetermine minimum number of adjacencies for N placed people in an RxC hotel matrix\r\n\r\nInput: m, an RxC zeros array; N number of rooms to be filled\r\n\r\nOutput: NN, minimum number of common walls\r\n\r\nExamples: Small Case 1\u003c=R*C\u003c=16, 0\u003c=N\u003c=R*C\r\n\r\n  [1 1 1;1 0 1;1 1 1] has minimum 8 common walls vs [1 1 1;1 1 1;1 1 0] has 10 common\r\n  [1;0;0;1] has 0 common walls\r\n  ones(2,3) has 7 common walls\r\n\r\n\r\nTheory: The small case can be solved with brute force using vector set with nchoosek followed by processing of convolutions. The large case has 10000 rooms making brute force hopeless.\r\n\r\n\r\nAdditional GJam solutions can be found at \u003chttp://www.go-hero.net/jam/15 Example GJam Matlab solutions\u003e. Select Find Solutions, change Language to Matlab. The Test Suite, at the bottom, contains a full GJam Matlab solution.","description_html":"\u003cp\u003eThis Challenge is derived from \u003ca href = \"https://code.google.com/codejam/contest/8224486/dashboard#s=p1\"\u003eGJam 2015 Rd 1B: Noisy Neighbors\u003c/a\u003e. Fastest completion - 8 minutes.\u003c/p\u003e\u003cp\u003eDetermine minimum number of adjacencies for N placed people in an RxC hotel matrix\u003c/p\u003e\u003cp\u003eInput: m, an RxC zeros array; N number of rooms to be filled\u003c/p\u003e\u003cp\u003eOutput: NN, minimum number of common walls\u003c/p\u003e\u003cp\u003eExamples: Small Case 1\u0026lt;=R*C\u0026lt;=16, 0\u0026lt;=N\u0026lt;=R*C\u003c/p\u003e\u003cpre class=\"language-matlab\"\u003e[1 1 1;1 0 1;1 1 1] has minimum 8 common walls vs [1 1 1;1 1 1;1 1 0] has 10 common\r\n[1;0;0;1] has 0 common walls\r\nones(2,3) has 7 common walls\r\n\u003c/pre\u003e\u003cp\u003eTheory: The small case can be solved with brute force using vector set with nchoosek followed by processing of convolutions. The large case has 10000 rooms making brute force hopeless.\u003c/p\u003e\u003cp\u003eAdditional GJam solutions can be found at \u003ca href = \"http://www.go-hero.net/jam/15\"\u003eExample GJam Matlab solutions\u003c/a\u003e. Select Find Solutions, change Language to Matlab. The Test Suite, at the bottom, contains a full GJam Matlab solution.\u003c/p\u003e","function_template":"function NN = Noisy_Neighbors(m,N)\r\n% m is an RxC zeros array\r\n% N is number of cells to be occupied\r\n% NN is number of edge adjacencies\r\n% Goal is to minimize NN\r\n\r\n  NN=0;\r\nend","test_suite":"tic\r\n%%\r\nm=zeros(5,2);N=8;\r\nNNexp=7;\r\nNN=Noisy_Neighbors(m,N);\r\nassert(isequal(NNexp,NN))\r\n%%\r\nm=zeros(3,5);N=14;\r\nNNexp=18;\r\nNN=Noisy_Neighbors(m,N);\r\nassert(isequal(NNexp,NN))\r\n%%\r\nm=zeros(1,16);N=1;\r\nNNexp=0;\r\nNN=Noisy_Neighbors(m,N);\r\nassert(isequal(NNexp,NN))\r\n%%\r\nm=zeros(3,5);N=1;\r\nNNexp=0;\r\nNN=Noisy_Neighbors(m,N);\r\nassert(isequal(NNexp,NN))\r\n%%\r\nm=zeros(8,2);N=12;\r\nNNexp=10;\r\nNN=Noisy_Neighbors(m,N);\r\nassert(isequal(NNexp,NN))\r\n%%\r\nm=zeros(16,1);N=1;\r\nNNexp=0;\r\nNN=Noisy_Neighbors(m,N);\r\nassert(isequal(NNexp,NN))\r\n%%\r\nm=zeros(3,3);N=6;\r\nNNexp=3;\r\nNN=Noisy_Neighbors(m,N);\r\nassert(isequal(NNexp,NN))\r\n%%\r\nm=zeros(2,6);N=12;\r\nNNexp=16;\r\nNN=Noisy_Neighbors(m,N);\r\nassert(isequal(NNexp,NN))\r\n%%\r\nm=zeros(15,1);N=0;\r\nNNexp=0;\r\nNN=Noisy_Neighbors(m,N);\r\nassert(isequal(NNexp,NN))\r\n%%\r\nm=zeros(5,3);N=7;\r\nNNexp=0;\r\nNN=Noisy_Neighbors(m,N);\r\nassert(isequal(NNexp,NN))\r\n%%\r\nm=zeros(4,3);N=5;\r\nNNexp=0;\r\nNN=Noisy_Neighbors(m,N);\r\nassert(isequal(NNexp,NN))\r\n%%\r\nm=zeros(3,5);N=11;\r\nNNexp=8;\r\nNN=Noisy_Neighbors(m,N);\r\nassert(isequal(NNexp,NN))\r\n%%\r\nm=zeros(7,2);N=13;\r\nNNexp=16;\r\nNN=Noisy_Neighbors(m,N);\r\nassert(isequal(NNexp,NN))\r\n%%\r\nm=zeros(15,1);N=6;\r\nNNexp=0;\r\nNN=Noisy_Neighbors(m,N);\r\nassert(isequal(NNexp,NN))\r\n%%\r\nm=zeros(15,1);N=15;\r\nNNexp=14;\r\nNN=Noisy_Neighbors(m,N);\r\nassert(isequal(NNexp,NN))\r\n%%\r\nm=zeros(4,4);N=9;\r\nNNexp=2;\r\nNN=Noisy_Neighbors(m,N);\r\nassert(isequal(NNexp,NN))\r\n%%\r\nm=zeros(5,3);N=8;\r\nNNexp=0;\r\nNN=Noisy_Neighbors(m,N);\r\nassert(isequal(NNexp,NN))\r\n%%\r\nm=zeros(3,5);N=6;\r\nNNexp=0;\r\nNN=Noisy_Neighbors(m,N);\r\nassert(isequal(NNexp,NN))\r\n%%\r\nm=zeros(16,1);N=7;\r\nNNexp=0;\r\nNN=Noisy_Neighbors(m,N);\r\nassert(isequal(NNexp,NN))\r\n%%\r\nm=zeros(1,15);N=7;\r\nNNexp=0;\r\nNN=Noisy_Neighbors(m,N);\r\nassert(isequal(NNexp,NN))\r\n%%\r\nm=zeros(4,3);N=12;\r\nNNexp=17;\r\nNN=Noisy_Neighbors(m,N);\r\nassert(isequal(NNexp,NN))\r\n%%\r\nm=zeros(5,3);N=13;\r\nNNexp=14;\r\nNN=Noisy_Neighbors(m,N);\r\nassert(isequal(NNexp,NN))\r\n%%\r\nm=zeros(2,4);N=5;\r\nNNexp=2;\r\nNN=Noisy_Neighbors(m,N);\r\nassert(isequal(NNexp,NN))\r\n%%\r\nm=zeros(5,3);N=5;\r\nNNexp=0;\r\nNN=Noisy_Neighbors(m,N);\r\nassert(isequal(NNexp,NN))\r\n%%\r\nm=zeros(16,1);N=16;\r\nNNexp=15;\r\nNN=Noisy_Neighbors(m,N);\r\nassert(isequal(NNexp,NN))\r\n%%\r\nm=zeros(2,5);N=8;\r\nNNexp=7;\r\nNN=Noisy_Neighbors(m,N);\r\nassert(isequal(NNexp,NN))\r\n%%\r\nm=zeros(5,3);N=4;\r\nNNexp=0;\r\nNN=Noisy_Neighbors(m,N);\r\nassert(isequal(NNexp,NN))\r\n%%\r\nm=zeros(5,3);N=10;\r\nNNexp=6;\r\nNN=Noisy_Neighbors(m,N);\r\nassert(isequal(NNexp,NN))\r\n%%\r\nm=zeros(4,4);N=7;\r\nNNexp=0;\r\nNN=Noisy_Neighbors(m,N);\r\nassert(isequal(NNexp,NN))\r\n%%\r\nm=zeros(3,5);N=9;\r\nNNexp=3;\r\nNN=Noisy_Neighbors(m,N);\r\nassert(isequal(NNexp,NN))\r\n%%\r\nm=zeros(4,2);N=2;\r\nNNexp=0;\r\nNN=Noisy_Neighbors(m,N);\r\nassert(isequal(NNexp,NN))\r\n%%\r\nm=zeros(4,4);N=15;\r\nNNexp=20;\r\nNN=Noisy_Neighbors(m,N);\r\nassert(isequal(NNexp,NN))\r\n%%\r\nm=zeros(2,2);N=4;\r\nNNexp=4;\r\nNN=Noisy_Neighbors(m,N);\r\nassert(isequal(NNexp,NN))\r\n%%\r\nm=zeros(5,3);N=11;\r\nNNexp=8;\r\nNN=Noisy_Neighbors(m,N);\r\nassert(isequal(NNexp,NN))\r\n%%\r\nm=zeros(4,4);N=8;\r\nNNexp=0;\r\nNN=Noisy_Neighbors(m,N);\r\nassert(isequal(NNexp,NN))\r\n%%\r\nm=zeros(1,16);N=9;\r\nNNexp=1;\r\nNN=Noisy_Neighbors(m,N);\r\nassert(isequal(NNexp,NN))\r\n%%\r\nm=zeros(4,4);N=16;\r\nNNexp=24;\r\nNN=Noisy_Neighbors(m,N);\r\nassert(isequal(NNexp,NN))\r\n%%\r\nm=zeros(1,15);N=6;\r\nNNexp=0;\r\nNN=Noisy_Neighbors(m,N);\r\nassert(isequal(NNexp,NN))\r\n%%\r\nm=zeros(15,1);N=8;\r\nNNexp=0;\r\nNN=Noisy_Neighbors(m,N);\r\nassert(isequal(NNexp,NN))\r\n%%\r\nm=zeros(5,3);N=6;\r\nNNexp=0;\r\nNN=Noisy_Neighbors(m,N);\r\nassert(isequal(NNexp,NN))\r\n%%\r\nm=zeros(16,1);N=9;\r\nNNexp=1;\r\nNN=Noisy_Neighbors(m,N);\r\nassert(isequal(NNexp,NN))\r\n%%\r\nm=zeros(3,5);N=15;\r\nNNexp=22;\r\nNN=Noisy_Neighbors(m,N);\r\nassert(isequal(NNexp,NN))\r\n%%\r\nm=zeros(1,15);N=1;\r\nNNexp=0;\r\nNN=Noisy_Neighbors(m,N);\r\nassert(isequal(NNexp,NN))\r\n%%\r\nm=zeros(1,15);N=0;\r\nNNexp=0;\r\nNN=Noisy_Neighbors(m,N);\r\nassert(isequal(NNexp,NN))\r\n%%\r\nm=zeros(2,5);N=9;\r\nNNexp=10;\r\nNN=Noisy_Neighbors(m,N);\r\nassert(isequal(NNexp,NN))\r\n%%\r\nm=zeros(3,5);N=10;\r\nNNexp=6;\r\nNN=Noisy_Neighbors(m,N);\r\nassert(isequal(NNexp,NN))\r\n%%\r\nm=zeros(1,15);N=15;\r\nNNexp=14;\r\nNN=Noisy_Neighbors(m,N);\r\nassert(isequal(NNexp,NN))\r\n%%\r\nm=zeros(3,2);N=0;\r\nNNexp=0;\r\nNN=Noisy_Neighbors(m,N);\r\nassert(isequal(NNexp,NN))\r\n%%\r\nm=zeros(5,3);N=2;\r\nNNexp=0;\r\nNN=Noisy_Neighbors(m,N);\r\nassert(isequal(NNexp,NN))\r\n%%\r\nm=zeros(5,3);N=1;\r\nNNexp=0;\r\nNN=Noisy_Neighbors(m,N);\r\nassert(isequal(NNexp,NN))\r\n%%\r\nm=zeros(5,2);N=4;\r\nNNexp=0;\r\nNN=Noisy_Neighbors(m,N);\r\nassert(isequal(NNexp,NN))\r\n%%\r\nm=zeros(3,5);N=4;\r\nNNexp=0;\r\nNN=Noisy_Neighbors(m,N);\r\nassert(isequal(NNexp,NN))\r\n%%\r\nm=zeros(2,7);N=13;\r\nNNexp=16;\r\nNN=Noisy_Neighbors(m,N);\r\nassert(isequal(NNexp,NN))\r\n%%\r\nm=zeros(3,3);N=0;\r\nNNexp=0;\r\nNN=Noisy_Neighbors(m,N);\r\nassert(isequal(NNexp,NN))\r\n%%\r\nm=zeros(7,2);N=11;\r\nNNexp=10;\r\nNN=Noisy_Neighbors(m,N);\r\nassert(isequal(NNexp,NN))\r\n%%\r\nm=zeros(4,4);N=0;\r\nNNexp=0;\r\nNN=Noisy_Neighbors(m,N);\r\nassert(isequal(NNexp,NN))\r\n%%\r\nm=zeros(1,1);N=0;\r\nNNexp=0;\r\nNN=Noisy_Neighbors(m,N);\r\nassert(isequal(NNexp,NN))\r\n%%\r\nm=zeros(2,6);N=9;\r\nNNexp=7;\r\nNN=Noisy_Neighbors(m,N);\r\nassert(isequal(NNexp,NN))\r\n%%\r\nm=zeros(3,5);N=3;\r\nNNexp=0;\r\nNN=Noisy_Neighbors(m,N);\r\nassert(isequal(NNexp,NN))\r\n%%\r\nm=zeros(5,3);N=15;\r\nNNexp=22;\r\nNN=Noisy_Neighbors(m,N);\r\nassert(isequal(NNexp,NN))\r\n%%\r\nm=zeros(5,2);N=6;\r\nNNexp=2;\r\nNN=Noisy_Neighbors(m,N);\r\nassert(isequal(NNexp,NN))\r\n%%\r\nm=zeros(3,4);N=12;\r\nNNexp=17;\r\nNN=Noisy_Neighbors(m,N);\r\nassert(isequal(NNexp,NN))\r\n%%\r\nm=zeros(2,3);N=6;\r\nNNexp=7;\r\nNN=Noisy_Neighbors(m,N);\r\nassert(isequal(NNexp,NN))\r\n%%\r\nm=zeros(1,1);N=1;\r\nNNexp=0;\r\nNN=Noisy_Neighbors(m,N);\r\nassert(isequal(NNexp,NN))\r\n%%\r\nm=zeros(15,1);N=1;\r\nNNexp=0;\r\nNN=Noisy_Neighbors(m,N);\r\nassert(isequal(NNexp,NN))\r\n%%\r\nm=zeros(1,16);N=16;\r\nNNexp=15;\r\nNN=Noisy_Neighbors(m,N);\r\nassert(isequal(NNexp,NN))\r\n%%\r\nm=zeros(2,2);N=2;\r\nNNexp=0;\r\nNN=Noisy_Neighbors(m,N);\r\nassert(isequal(NNexp,NN))\r\n%%\r\nm=zeros(3,3);N=9;\r\nNNexp=12;\r\nNN=Noisy_Neighbors(m,N);\r\nassert(isequal(NNexp,NN))\r\n%%\r\nm=zeros(16,1);N=8;\r\nNNexp=0;\r\nNN=Noisy_Neighbors(m,N);\r\nassert(isequal(NNexp,NN))\r\n%%\r\nm=zeros(9,1);N=6;\r\nNNexp=2;\r\nNN=Noisy_Neighbors(m,N);\r\nassert(isequal(NNexp,NN))\r\n%%\r\nm=zeros(5,3);N=12;\r\nNNexp=11;\r\nNN=Noisy_Neighbors(m,N);\r\nassert(isequal(NNexp,NN))\r\n%%\r\nm=zeros(2,2);N=3;\r\nNNexp=2;\r\nNN=Noisy_Neighbors(m,N);\r\nassert(isequal(NNexp,NN))\r\n%%\r\nm=zeros(3,5);N=7;\r\nNNexp=0;\r\nNN=Noisy_Neighbors(m,N);\r\nassert(isequal(NNexp,NN))\r\n%%\r\nm=zeros(7,2);N=0;\r\nNNexp=0;\r\nNN=Noisy_Neighbors(m,N);\r\nassert(isequal(NNexp,NN))\r\n%%\r\nm=zeros(4,3);N=6;\r\nNNexp=0;\r\nNN=Noisy_Neighbors(m,N);\r\nassert(isequal(NNexp,NN))\r\n%%\r\nm=zeros(2,3);N=4;\r\nNNexp=2;\r\nNN=Noisy_Neighbors(m,N);\r\nassert(isequal(NNexp,NN))\r\n%%\r\nm=zeros(1,15);N=8;\r\nNNexp=0;\r\nNN=Noisy_Neighbors(m,N);\r\nassert(isequal(NNexp,NN))\r\n%%\r\nm=zeros(16,1);N=0;\r\nNNexp=0;\r\nNN=Noisy_Neighbors(m,N);\r\nassert(isequal(NNexp,NN))\r\n%%\r\nm=zeros(5,3);N=9;\r\nNNexp=3;\r\nNN=Noisy_Neighbors(m,N);\r\nassert(isequal(NNexp,NN))\r\n%%\r\nm=zeros(15,1);N=7;\r\nNNexp=0;\r\nNN=Noisy_Neighbors(m,N);\r\nassert(isequal(NNexp,NN))\r\n%%\r\nm=zeros(2,4);N=6;\r\nNNexp=4;\r\nNN=Noisy_Neighbors(m,N);\r\nassert(isequal(NNexp,NN))\r\n%%\r\nm=zeros(1,16);N=7;\r\nNNexp=0;\r\nNN=Noisy_Neighbors(m,N);\r\nassert(isequal(NNexp,NN))\r\n%%\r\nm=zeros(3,5);N=12;\r\nNNexp=11;\r\nNN=Noisy_Neighbors(m,N);\r\nassert(isequal(NNexp,NN))\r\n%%\r\nm=zeros(1,16);N=8;\r\nNNexp=0;\r\nNN=Noisy_Neighbors(m,N);\r\nassert(isequal(NNexp,NN))\r\n%%\r\nm=zeros(4,4);N=1;\r\nNNexp=0;\r\nNN=Noisy_Neighbors(m,N);\r\nassert(isequal(NNexp,NN))\r\n%%\r\nm=zeros(3,5);N=0;\r\nNNexp=0;\r\nNN=Noisy_Neighbors(m,N);\r\nassert(isequal(NNexp,NN))\r\n%%\r\nm=zeros(3,5);N=8;\r\nNNexp=0;\r\nNN=Noisy_Neighbors(m,N);\r\nassert(isequal(NNexp,NN))\r\n%%\r\nm=zeros(1,16);N=0;\r\nNNexp=0;\r\nNN=Noisy_Neighbors(m,N);\r\nassert(isequal(NNexp,NN))\r\n%%\r\nm=zeros(5,3);N=3;\r\nNNexp=0;\r\nNN=Noisy_Neighbors(m,N);\r\nassert(isequal(NNexp,NN))\r\n%%\r\nm=zeros(5,3);N=0;\r\nNNexp=0;\r\nNN=Noisy_Neighbors(m,N);\r\nassert(isequal(NNexp,NN))\r\n%%\r\nm=zeros(1,13);N=9;\r\nNNexp=4;\r\nNN=Noisy_Neighbors(m,N);\r\nassert(isequal(NNexp,NN))\r\n%%\r\nm=zeros(3,5);N=2;\r\nNNexp=0;\r\nNN=Noisy_Neighbors(m,N);\r\nassert(isequal(NNexp,NN))\r\n%%\r\nm=zeros(1,9);N=6;\r\nNNexp=2;\r\nNN=Noisy_Neighbors(m,N);\r\nassert(isequal(NNexp,NN))\r\n%%\r\nm=zeros(6,2);N=12;\r\nNNexp=16;\r\nNN=Noisy_Neighbors(m,N);\r\nassert(isequal(NNexp,NN))\r\n%%\r\nm=zeros(4,3);N=8;\r\nNNexp=4;\r\nNN=Noisy_Neighbors(m,N);\r\nassert(isequal(NNexp,NN))\r\n%%\r\nm=zeros(3,5);N=5;\r\nNNexp=0;\r\nNN=Noisy_Neighbors(m,N);\r\nassert(isequal(NNexp,NN))\r\n%%\r\nm=zeros(5,3);N=14;\r\nNNexp=18;\r\nNN=Noisy_Neighbors(m,N);\r\nassert(isequal(NNexp,NN))\r\n%%\r\nm=zeros(4,3);N=7;\r\nNNexp=2;\r\nNN=Noisy_Neighbors(m,N);\r\nassert(isequal(NNexp,NN))\r\n%%\r\nm=zeros(6,2);N=4;\r\nNNexp=0;\r\nNN=Noisy_Neighbors(m,N);\r\nassert(isequal(NNexp,NN))\r\n%%\r\nm=zeros(3,5);N=13;\r\nNNexp=14;\r\nNN=Noisy_Neighbors(m,N);\r\nassert(isequal(NNexp,NN))\r\n%%\r\ntoc\r\n%%\r\n% function GJam_Rd1B_2015b\r\n%  fn='B-small-practice.in';\r\n%  [data] = read_file(fn); % \r\n%  fidG = fopen('B-small-practice.out', 'w');\r\n%  \r\n% tic\r\n% for i=1:size(data,2) % Cell array has N cols of cases\r\n%  NN = Noisy_Neighbors(data{i});\r\n%  fprintf(fidG,'Case #%i: %i\\n',i,NN);\r\n%  \r\n%  fprintf('Case #%i: %i\\n',i,NN);   \r\n% end\r\n% toc\r\n% fclose(fidG);\r\n% end\r\n% \r\n% function val=Noisy_Neighbors(v)\r\n%  r=v(1);c=v(2);N=v(3);\r\n%  m=zeros(r,c);\r\n%  if N==0\r\n%   val=0;\r\n%   return;\r\n%  end\r\n%  \r\n% ptrset=find(m==0);\r\n% \r\n% val=Inf;\r\n% tlocs=nchoosek(ptrset,N);\r\n% for i=1:size(tlocs,1)\r\n%  m=m*0;\r\n%  tlocv=tlocs(i,:);\r\n%  m(tlocv)=1;\r\n%  vchk=nnz(conv2(m,[1 1])==2)+nnz(conv2(m,[1;1])==2);\r\n%  \r\n%  if vchk\u003cval\r\n%   val=vchk;\r\n%  end\r\n%  if val==0,break;end;\r\n% end\r\n%  \r\n% end\r\n% \r\n% function [d] = read_file(fn)\r\n% d={};\r\n% fid=fopen(fn);\r\n% fgetl(fid); % Total Count ignore\r\n% ptr=0;\r\n% while ~feof(fid)\r\n%  ptr=ptr+1;\r\n%  v=str2num(fgetl(fid)); % r,c,N\r\n%  \r\n%  d{ptr}=v;\r\n%  \r\n% end % feof\r\n%  fclose(fid);\r\n% \r\n% end % read_file\r\n%%\r\ntoc\r\n\r\n\r\n","published":true,"deleted":false,"likes_count":0,"comments_count":5,"created_by":3097,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":10,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2015-05-03T17:57:59.000Z","updated_at":"2015-05-03T18:31:40.000Z","published_at":"2015-05-03T18:31:40.000Z","restored_at":null,"restored_by":null,"spam":false,"simulink":false,"admin_reviewed":false,"description_opc":"{\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"targetMode\":\"\",\"relationshipId\":\"rId1\",\"target\":\"/matlab/document.xml\"},{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/output\",\"targetMode\":\"\",\"relationshipId\":\"rId2\",\"target\":\"/matlab/output.xml\"}],\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"relationship\":[],\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\\n\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThis Challenge is derived from\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"https://code.google.com/codejam/contest/8224486/dashboard#s=p1\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eGJam 2015 Rd 1B: Noisy Neighbors\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e. Fastest completion - 8 minutes.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eDetermine minimum number of adjacencies for N placed people in an RxC hotel matrix\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eInput: m, an RxC zeros array; N number of rooms to be filled\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eOutput: NN, minimum number of common walls\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eExamples: Small Case 1\u0026lt;=R*C\u0026lt;=16, 0\u0026lt;=N\u0026lt;=R*C\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"code\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e\u003c![CDATA[[1 1 1;1 0 1;1 1 1] has minimum 8 common walls vs [1 1 1;1 1 1;1 1 0] has 10 common\\n[1;0;0;1] has 0 common walls\\nones(2,3) has 7 common walls]]\u003e\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eTheory: The small case can be solved with brute force using vector set with nchoosek followed by processing of convolutions. The large case has 10000 rooms making brute force hopeless.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eAdditional GJam solutions can be found at\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"http://www.go-hero.net/jam/15\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eExample GJam Matlab solutions\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e. Select Find Solutions, change Language to Matlab. The Test Suite, at the bottom, contains a full GJam Matlab solution.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\"},{\"partUri\":\"/matlab/output.xml\",\"contentType\":\"text/xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\" standalone=\\\"no\\\" ?\u003e\u003cembeddedOutputs\u003e\u003cmetaData\u003e\u003cevaluationState\u003emanual\u003c/evaluationState\u003e\u003clayoutState\u003ecode\u003c/layoutState\u003e\u003coutputStatus\u003eready\u003c/outputStatus\u003e\u003c/metaData\u003e\u003coutputArray type=\\\"array\\\"/\u003e\u003cregionArray type=\\\"array\\\"/\u003e\u003c/embeddedOutputs\u003e\"}]}"}],"term":"tag:\"nnz\"","current_player_id":null,"fields":[{"name":"page","type":"integer","callback":null,"default":1,"directive":null,"facet":null,"facet_method":"and","operator":null,"param":null,"static":null,"prepend":true},{"name":"per_page","type":"integer","callback":null,"default":50,"directive":null,"facet":null,"facet_method":"and","operator":null,"param":null,"static":null,"prepend":true},{"name":"sort","type":"string","callback":null,"default":null,"directive":null,"facet":null,"facet_method":"and","operator":null,"param":null,"static":null,"prepend":true},{"name":"body","type":"text","callback":null,"default":"*:*","directive":null,"facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":false},{"name":"group","type":"string","callback":null,"default":null,"directive":"group","facet":true,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"difficulty_rating_bin","type":"string","callback":null,"default":null,"directive":"difficulty_rating_bin","facet":true,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"id","type":"integer","callback":null,"default":null,"directive":"id","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"tag","type":"string","callback":null,"default":null,"directive":"tag","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"product","type":"string","callback":null,"default":null,"directive":"product","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"created_at","type":"timeframe","callback":{},"default":null,"directive":"created_at","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"profile_id","type":"integer","callback":null,"default":null,"directive":"author_id","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"created_by","type":"string","callback":null,"default":null,"directive":"author","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"player_id","type":"integer","callback":null,"default":null,"directive":"solver_id","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"player","type":"string","callback":null,"default":null,"directive":"solver","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"solvers_count","type":"integer","callback":null,"default":null,"directive":"solvers_count","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"comments_count","type":"integer","callback":null,"default":null,"directive":"comments_count","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"likes_count","type":"integer","callback":null,"default":null,"directive":"likes_count","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"leader_id","type":"integer","callback":null,"default":null,"directive":"leader_id","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"leading_solution","type":"integer","callback":null,"default":null,"directive":"leading_solution","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true}],"filters":[{"name":"asset_type","type":"string","callback":null,"default":null,"directive":null,"facet":null,"facet_method":"and","operator":null,"param":null,"static":"\"cody:problem\"","prepend":true},{"name":"profile_id","type":"integer","callback":{},"default":null,"directive":null,"facet":null,"facet_method":"and","operator":null,"param":"author_id","static":null,"prepend":true}],"query":{"params":{"per_page":50,"term":"tag:\"nnz\"","current_player":null,"sort":"map(difficulty_value,0,0,999) asc"},"parser":"MathWorks::Search::Solr::QueryParser","directives":{"term":{"directives":{"tag":[["tag:\"nnz\"","","\"","nnz","\""]]}}},"facets":{"#\u003cMathWorks::Search::Field:0x00007fc6ea4db378\u003e":null,"#\u003cMathWorks::Search::Field:0x00007fc6ea4db2d8\u003e":null},"filters":{"#\u003cMathWorks::Search::Field:0x00007fc6ea4daa18\u003e":"\"cody:problem\""},"fields":{"#\u003cMathWorks::Search::Field:0x00007fc6ea4db5f8\u003e":1,"#\u003cMathWorks::Search::Field:0x00007fc6ea4db558\u003e":50,"#\u003cMathWorks::Search::Field:0x00007fc6ea4db4b8\u003e":"map(difficulty_value,0,0,999) asc","#\u003cMathWorks::Search::Field:0x00007fc6ea4db418\u003e":"tag:\"nnz\""},"user_query":{"#\u003cMathWorks::Search::Field:0x00007fc6ea4db418\u003e":"tag:\"nnz\""},"queried_facets":{}},"query_backend":{"connection":{"configuration":{"index_url":"http://index-op-v2/solr/","query_url":"http://search-op-v2/solr/","direct_access_index_urls":["http://index-op-v2/solr/"],"direct_access_query_urls":["http://search-op-v2/solr/"],"timeout":10,"vhost":"search","exchange":"search.topic","heartbeat":30,"pre_index_mode":false,"host":"rabbitmq-eks","port":5672,"username":"cody-search","password":"78X075ddcV44","virtual_host":"search","indexer":"amqp","http_logging":"true","core":"cody"},"query_connection":{"uri":"http://search-op-v2/solr/cody/","proxy":null,"connection":{"parallel_manager":null,"headers":{"User-Agent":"Faraday v1.0.1"},"params":{},"options":{"params_encoder":"Faraday::FlatParamsEncoder","proxy":null,"bind":null,"timeout":null,"open_timeout":null,"read_timeout":null,"write_timeout":null,"boundary":null,"oauth":null,"context":null,"on_data":null},"ssl":{"verify":true,"ca_file":null,"ca_path":null,"verify_mode":null,"cert_store":null,"client_cert":null,"client_key":null,"certificate":null,"private_key":null,"verify_depth":null,"version":null,"min_version":null,"max_version":null},"default_parallel_manager":null,"builder":{"adapter":{"name":"Faraday::Adapter::NetHttp","args":[],"block":null},"handlers":[{"name":"Faraday::Response::RaiseError","args":[],"block":null}],"app":{"app":{"ssl_cert_store":{"verify_callback":null,"error":null,"error_string":null,"chain":null,"time":null},"app":{},"connection_options":{},"config_block":null}}},"url_prefix":"http://search-op-v2/solr/cody/","manual_proxy":false,"proxy":null},"update_format":"RSolr::JSON::Generator","update_path":"update","options":{"url":"http://search-op-v2/solr/cody"}}},"query":{"params":{"per_page":50,"term":"tag:\"nnz\"","current_player":null,"sort":"map(difficulty_value,0,0,999) asc"},"parser":"MathWorks::Search::Solr::QueryParser","directives":{"term":{"directives":{"tag":[["tag:\"nnz\"","","\"","nnz","\""]]}}},"facets":{"#\u003cMathWorks::Search::Field:0x00007fc6ea4db378\u003e":null,"#\u003cMathWorks::Search::Field:0x00007fc6ea4db2d8\u003e":null},"filters":{"#\u003cMathWorks::Search::Field:0x00007fc6ea4daa18\u003e":"\"cody:problem\""},"fields":{"#\u003cMathWorks::Search::Field:0x00007fc6ea4db5f8\u003e":1,"#\u003cMathWorks::Search::Field:0x00007fc6ea4db558\u003e":50,"#\u003cMathWorks::Search::Field:0x00007fc6ea4db4b8\u003e":"map(difficulty_value,0,0,999) asc","#\u003cMathWorks::Search::Field:0x00007fc6ea4db418\u003e":"tag:\"nnz\""},"user_query":{"#\u003cMathWorks::Search::Field:0x00007fc6ea4db418\u003e":"tag:\"nnz\""},"queried_facets":{}},"options":{"fields":["id","difficulty_rating"]},"join":" "},"results":[{"id":42290,"difficulty_rating":"medium"}]}}