Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- fid = fopen('input.txt');
- x = [];
- while 1
- tline = fgetl(fid);
- if ~ischar(tline), break, end
- x = [x;str2double(strsplit(tline,{',',' -> '}))];
- end
- fclose(fid);
- M = zeros(max(max(x))+1);
- for i=1:size(x,1)
- [r1,c1,r2,c2] = deal(x(i,2),x(i,1),x(i,4),x(i,3));
- if r1==r2 || c1==c2
- for r = min(r1,r2):max(r1,r2)
- for c=min(c1,c2):max(c1,c2)
- M(r+1,c+1)=M(r+1,c+1)+1;
- end
- end
- else
- for k = 0:abs(r1-r2)
- r = r1+sign(r2-r1)*k;
- c = c1+sign(c2-c1)*k;
- M(r+1,c+1)=M(r+1,c+1)+1;
- end
- end
- end
- disp(sum(sum(M>1)))
Advertisement
Add Comment
Please, Sign In to add comment