Advertisement
Guest User

Part 1

a guest
Dec 17th, 2015
142
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
MatLab 1.27 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 1
  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.                     grid(j,k)=0;
  51.                 case 1 %on
  52.                     grid(j,k)=1;
  53.                 otherwise %toggle
  54.                     grid(j,k)=mod(grid(j,k)+1,2);
  55.             end
  56.         end
  57.     end
  58. end
  59. lit=0;
  60. for j=1:1000
  61.     for k=1:1000
  62.         if grid(j,k)
  63.             lit=lit+1;
  64.         end
  65.     end
  66. end
  67. lit
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement