Advertisement
Guest User

Untitled

a guest
Dec 13th, 2021
99
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 3.13 KB | None | 0 0
  1. --PROBLEM1
  2.  
  3. local paper = {}
  4.  
  5. for i = 1, 2000 do
  6.     local row = {}
  7.     for j = 1, 2000 do
  8.         table.insert(row, 0)  
  9.     end
  10.     table.insert(paper, row)    
  11. end
  12.  
  13. for line in io.lines("13.txt") do
  14.     local x, y = line:match("(%d+)%,(%d+)")
  15.     if x and y then
  16.         paper[tonumber(y)+1][tonumber(x)+1] = 1  
  17.     end  
  18. end
  19.  
  20. local count = 0
  21.  
  22. for line in io.lines("13.txt") do
  23.     if count == 1 then
  24.         break
  25.     end
  26.     if line:find("x") then
  27.         local xfold = tonumber(line:match("(%d+)")) + 1
  28.         for y = 1, #paper do
  29.             for x = xfold + 1, #paper[1] do
  30.                 if paper[y][x] > 0 then
  31.                     paper[y][xfold - (x - xfold)] = paper[y][xfold - (x - xfold)] + paper[y][x]
  32.                     paper[y][x] = 0        
  33.                 end      
  34.             end      
  35.         end
  36.         count = count + 1    
  37.     elseif line:find("y") then
  38.         local yfold = tonumber(line:match("(%d+)")) + 1
  39.         for y = yfold + 1, #paper do
  40.             for x = 1, #paper[1] do
  41.                 if paper[y][x] > 0 then
  42.                     paper[yfold - (y - yfold)][x] = paper[yfold - (y - yfold)][x] + paper[y][x]
  43.                     paper[y][x] = 0        
  44.                 end      
  45.             end      
  46.         end
  47.         count = count + 1
  48.     end  
  49. end
  50.  
  51. count = 0
  52.  
  53. for i = 1, #paper do
  54.     for j = 1, #paper[1] do
  55.         if paper[i][j] > 0 then
  56.             count = count + 1  
  57.         end    
  58.     end    
  59. end
  60.  
  61. print(count)
  62.  
  63.  
  64.  
  65. --PROBLEM2
  66.  
  67. local paper = {}
  68.  
  69. for i = 1, 2000 do
  70.     local row = {}
  71.     for j = 1, 2000 do
  72.         table.insert(row, 0)  
  73.     end
  74.     table.insert(paper, row)    
  75. end
  76.  
  77. for line in io.lines("13.txt") do
  78.     local x, y = line:match("(%d+)%,(%d+)")
  79.     if x and y then
  80.         paper[tonumber(y)+1][tonumber(x)+1] = 1  
  81.     end  
  82. end
  83.  
  84. for line in io.lines("13.txt") do
  85.     if line:find("x") then
  86.         local xfold = tonumber(line:match("(%d+)")) + 1
  87.         for y = 1, #paper do
  88.             for x = xfold + 1, #paper[1] do
  89.                 if paper[y][x] > 0 then
  90.                     paper[y][xfold - (x - xfold)] = paper[y][xfold - (x - xfold)] + paper[y][x]
  91.                     paper[y][x] = 0        
  92.                 end      
  93.             end      
  94.         end
  95.     elseif line:find("y") then
  96.         local yfold = tonumber(line:match("(%d+)")) + 1
  97.         for y = yfold + 1, #paper do
  98.             for x = 1, #paper[1] do
  99.                 if paper[y][x] > 0 then
  100.                     paper[yfold - (y - yfold)][x] = paper[yfold - (y - yfold)][x] + paper[y][x]
  101.                     paper[y][x] = 0        
  102.                 end      
  103.             end      
  104.         end
  105.     end  
  106. end
  107.  
  108. for i = 1, #paper do
  109.     for j = 1, #paper[1] do
  110.         if paper[i][j] > 0 then
  111.             paper[i][j] = "O"        
  112.         else
  113.             paper[i][j] = " "
  114.         end    
  115.     end    
  116. end
  117.  
  118. local letters = {}
  119.  
  120. for i = 1, 6 do
  121.     local line = ""
  122.     for j = 1, 39 do
  123.         line = line .. paper[i][j]        
  124.     end
  125.     table.insert(letters, line)
  126. end
  127.  
  128. for _, v in pairs(letters) do
  129.     print(v)    
  130. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement