Guest User

Untitled

a guest
Dec 17th, 2015
70
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
MatLab 1.25 KB | None | 0 0
  1. clc,clear
  2. raw=importdata('raw6');
  3. a=char(raw.textdata);
  4. b=a(301:600,:);
  5. a=a(1:300,:);
  6. %y2
  7. y2=raw.data+1;
  8. %Off = 0, On = 1, toggle = -1
  9. %Variable list: action, x1,y1,x2,y2
  10. grid=zeros(1000);
  11. %Part 2
  12. for i=1:300
  13.     %action from a
  14.     if a(i,2)=='u' %turn
  15.         if a(i,7)=='n' %on
  16.             action=1;
  17.         else %off
  18.             action=0;
  19.         end
  20.     else %toggle
  21.         action=-1;
  22.     end
  23.     %x1 from a
  24.     if a(i,2)=='u' %turn
  25.         x1=str2num(a(i,9:12));
  26.     else
  27.         x1=str2num(a(i,8:10));
  28.     end
  29.     %y1 from b
  30.     if b(i,2)==' '
  31.         y1=str2num(b(i,1));
  32.     else
  33.         y1=str2num(b(i,1:3));
  34.     end
  35.     %x2 from b
  36.     if b(i,2)==' '
  37.         x2=str2num(b(i,11:13));
  38.     else
  39.         x2=str2num(b(i,12:15));
  40.     end
  41.     %0-999 -> 1-1000
  42.     x1=x1+1;
  43.     x2=x2+1;
  44.     y1=y1+1;
  45.     %Now go
  46.     for j=x1:x2
  47.         for k=y1:y2(i)
  48.             switch action
  49.                 case 0 %off
  50.                     if grid(j,k) %not 0
  51.                         grid(j,k)=grid(j,k)-1;
  52.                     end
  53.                 case 1 %on
  54.                     grid(j,k)=grid(j,k)+1;
  55.                 otherwise %toggle
  56.                     grid(j,k)=grid(j,k)+2;
  57.             end
  58.         end
  59.     end
  60. end
  61. sum(sum(grid))
Add Comment
Please, Sign In to add comment