Guest User

Untitled

a guest
Dec 5th, 2021
59
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
MatLab 0.64 KB | None | 0 0
  1. fid = fopen('input.txt');
  2. x   = [];
  3. while 1
  4.     tline = fgetl(fid);
  5.     if ~ischar(tline), break, end
  6.     x = [x;str2double(strsplit(tline,{',',' -> '}))];
  7. end
  8. fclose(fid);
  9.  
  10. M = zeros(max(max(x))+1);
  11. for i=1:size(x,1)
  12.     [r1,c1,r2,c2] = deal(x(i,2),x(i,1),x(i,4),x(i,3));
  13.     if r1==r2 || c1==c2
  14.         for r = min(r1,r2):max(r1,r2)
  15.             for c=min(c1,c2):max(c1,c2)
  16.                 M(r+1,c+1)=M(r+1,c+1)+1;
  17.             end
  18.         end
  19.     else
  20.         for k = 0:abs(r1-r2)
  21.             r = r1+sign(r2-r1)*k;
  22.             c = c1+sign(c2-c1)*k;
  23.             M(r+1,c+1)=M(r+1,c+1)+1;
  24.         end
  25.     end
  26. end
  27. disp(sum(sum(M>1)))
Advertisement
Add Comment
Please, Sign In to add comment