Сделай мне суши


11

Время обеда, я голоден и пришел в ваш суши-бар. Вы - Суши Шеф, и вам нужно создать полную программу или функцию, чтобы приготовить мне суши!

введите описание изображения здесь Кредиты: Википедия

Отказ от ответственности: изображение только для иллюстрации и не обязательно представляет точный продукт.

Хотя у вас есть ограниченные ингредиенты (из-за забастовки водителей грузовиков), это будет хорошо для меня.

Ингредиенты у вас есть (в большом количестве):

  • Нори морские водоросли (сделанные с: \/_¯|)
  • Сырой тунец ( T)
  • Сырой лосось ( S)
  • Сырой авокадо ( A)
  • Суши Рис ( o)

С помощью этих ингредиентов вы сможете приготовить приятные маки для своих клиентов.

Ваш минимальный заказ составляет $ 1 за 2 маки, вы делаете маки только парами и принимаете в качестве оплаты только целые числа. Вы принимаете заказы на сумму до 50 долларов США на человека (суммарный вклад), потому что вы один, и вы должны удовлетворить всех своих клиентов.

Вам нужно будет получить клиентские заказы из стандартного ввода в любом разумном формате, например: [1,T],[2,S],[3,A]это означает, что вы должны вывести:

  • Два тунца макис
  • Четыре лосося Маки
  • Шесть авокадо Макис

Один маки точно сделан так:

   _____  
  /ooooo\ 
 |ooTTToo|
 |\ooooo/|
 | ¯¯¯¯¯ |
  \_____/ 

А так как вы хороший повар суши, вы всегда располагаете маки кусочками любого типа в квадратной форме или, самое большее, в прямоугольной форме (как можно ближе к квадрату) без промежутков. Общая форма также является квадратной или прямоугольной, максимально приближенной к квадрату с учетом вышеуказанного ограничения, без пропусков.

Пример ввода / вывода:

Input: [1,T],[2,S],[3,A]

Valid Output:
  _____    _____    _____    _____  
 /ooooo\  /ooooo\  /ooooo\  /ooooo\ 
|ooTTToo||ooTTToo||ooAAAoo||ooAAAoo|
|\ooooo/||\ooooo/||\ooooo/||\ooooo/|
| ¯¯¯¯¯ || ¯¯¯¯¯ || ¯¯¯¯¯ || ¯¯¯¯¯ |
 \_____/  \_____/  \_____/  \_____/ 
  _____    _____    _____    _____  
 /ooooo\  /ooooo\  /ooooo\  /ooooo\ 
|ooSSSoo||ooSSSoo||ooAAAoo||ooAAAoo|
|\ooooo/||\ooooo/||\ooooo/||\ooooo/|
| ¯¯¯¯¯ || ¯¯¯¯¯ || ¯¯¯¯¯ || ¯¯¯¯¯ |
 \_____/  \_____/  \_____/  \_____/ 
  _____    _____    _____    _____  
 /ooooo\  /ooooo\  /ooooo\  /ooooo\ 
|ooSSSoo||ooSSSoo||ooAAAoo||ooAAAoo|
|\ooooo/||\ooooo/||\ooooo/||\ooooo/|
| ¯¯¯¯¯ || ¯¯¯¯¯ || ¯¯¯¯¯ || ¯¯¯¯¯ |
 \_____/  \_____/  \_____/  \_____/ 

Valid Output:
  _____    _____    _____    _____  
 /ooooo\  /ooooo\  /ooooo\  /ooooo\ 
|ooAAAoo||ooAAAoo||ooSSSoo||ooSSSoo|
|\ooooo/||\ooooo/||\ooooo/||\ooooo/|
| ¯¯¯¯¯ || ¯¯¯¯¯ || ¯¯¯¯¯ || ¯¯¯¯¯ |
 \_____/  \_____/  \_____/  \_____/ 
  _____    _____    _____    _____  
 /ooooo\  /ooooo\  /ooooo\  /ooooo\ 
|ooAAAoo||ooAAAoo||ooSSSoo||ooSSSoo|
|\ooooo/||\ooooo/||\ooooo/||\ooooo/|
| ¯¯¯¯¯ || ¯¯¯¯¯ || ¯¯¯¯¯ || ¯¯¯¯¯ |
 \_____/  \_____/  \_____/  \_____/ 
  _____    _____    _____    _____  
 /ooooo\  /ooooo\  /ooooo\  /ooooo\ 
|ooAAAoo||ooAAAoo||ooTTToo||ooTTToo|
|\ooooo/||\ooooo/||\ooooo/||\ooooo/|
| ¯¯¯¯¯ || ¯¯¯¯¯ || ¯¯¯¯¯ || ¯¯¯¯¯ |
 \_____/  \_____/  \_____/  \_____/   

Not Valid Output:
  _____    _____    _____    _____  
 /ooooo\  /ooooo\  /ooooo\  /ooooo\ 
|ooTTToo||ooAAAoo||ooSSSoo||ooAAAoo|
|\ooooo/||\ooooo/||\ooooo/||\ooooo/|
| ¯¯¯¯¯ || ¯¯¯¯¯ || ¯¯¯¯¯ || ¯¯¯¯¯ |
 \_____/  \_____/  \_____/  \_____/ 
  _____    _____    _____    _____  
 /ooooo\  /ooooo\  /ooooo\  /ooooo\ 
|ooSSSoo||ooAAAoo||ooTTToo||ooAAAoo|
|\ooooo/||\ooooo/||\ooooo/||\ooooo/|
| ¯¯¯¯¯ || ¯¯¯¯¯ || ¯¯¯¯¯ || ¯¯¯¯¯ |
 \_____/  \_____/  \_____/  \_____/ 
  _____    _____    _____    _____  
 /ooooo\  /ooooo\  /ooooo\  /ooooo\ 
|ooSSSoo||ooSSSoo||ooAAAoo||ooAAAoo|
|\ooooo/||\ooooo/||\ooooo/||\ooooo/|
| ¯¯¯¯¯ || ¯¯¯¯¯ || ¯¯¯¯¯ || ¯¯¯¯¯ |
 \_____/  \_____/  \_____/  \_____/ 

Not Valid Output:
  _____    _____    _____    _____    _____    _____    _____    _____    _____    _____    _____    _____
 /ooooo\  /ooooo\  /ooooo\  /ooooo\  /ooooo\  /ooooo\  /ooooo\  /ooooo\  /ooooo\  /ooooo\  /ooooo\  /ooooo\
|ooTTToo||ooTTToo||ooSSSoo||ooSSSoo||ooSSSoo||ooSSSoo||ooAAAoo||ooAAAoo||ooAAAoo||ooAAAoo||ooAAAoo||ooAAAoo|
|\ooooo/||\ooooo/||\ooooo/||\ooooo/||\ooooo/||\ooooo/||\ooooo/||\ooooo/||\ooooo/||\ooooo/||\ooooo/||\ooooo/|
| ¯¯¯¯¯ || ¯¯¯¯¯ || ¯¯¯¯¯ || ¯¯¯¯¯ || ¯¯¯¯¯ || ¯¯¯¯¯ || ¯¯¯¯¯ || ¯¯¯¯¯ || ¯¯¯¯¯ || ¯¯¯¯¯ || ¯¯¯¯¯ || ¯¯¯¯¯ |
 \_____/  \_____/  \_____/  \_____/  \_____/  \_____/  \_____/  \_____/  \_____/  \_____/  \_____/  \_____/ 


Not Valid Output:
  _____    _____    _____    _____    _____    _____    _____
 /ooooo\  /ooooo\  /ooooo\  /ooooo\  /ooooo\  /ooooo\  /ooooo\
|ooTTToo||ooTTToo||ooSSSoo||ooSSSoo||ooSSSoo||ooSSSoo||ooAAAoo|
|\ooooo/||\ooooo/||\ooooo/||\ooooo/||\ooooo/||\ooooo/||\ooooo/|
| ¯¯¯¯¯ || ¯¯¯¯¯ || ¯¯¯¯¯ || ¯¯¯¯¯ || ¯¯¯¯¯ || ¯¯¯¯¯ || ¯¯¯¯¯ |
 \_____/  \_____/  \_____/  \_____/  \_____/  \_____/  \_____/ 
  _____    _____    _____    _____    _____  
 /ooooo\  /ooooo\  /ooooo\  /ooooo\  /ooooo\ 
|ooAAAoo||ooAAAoo||ooAAAoo||ooAAAoo||ooAAAoo|
|\ooooo/||\ooooo/||\ooooo/||\ooooo/||\ooooo/|
| ¯¯¯¯¯ || ¯¯¯¯¯ || ¯¯¯¯¯ || ¯¯¯¯¯ || ¯¯¯¯¯ |
 \_____/  \_____/  \_____/  \_____/  \_____/ 


Input: [1,S]

Valid Output:
  _____    _____  
 /ooooo\  /ooooo\ 
|ooSSSoo||ooSSSoo|
|\ooooo/||\ooooo/|
| ¯¯¯¯¯ || ¯¯¯¯¯ |
 \_____/  \_____/ 

Valid Output:
  _____  
 /ooooo\ 
|ooSSSoo|
|\ooooo/|
| ¯¯¯¯¯ |
 \_____/ 
  _____  
 /ooooo\ 
|ooSSSoo|
|\ooooo/|
| ¯¯¯¯¯ |
 \_____/ 


Input: [1,A],[1,T],[1,S]

Valid Output:
  _____    _____    _____  
 /ooooo\  /ooooo\  /ooooo\ 
|ooAAAoo||ooTTToo||ooSSSoo|
|\ooooo/||\ooooo/||\ooooo/|
| ¯¯¯¯¯ || ¯¯¯¯¯ || ¯¯¯¯¯ |
 \_____/  \_____/  \_____/ 
  _____    _____    _____  
 /ooooo\  /ooooo\  /ooooo\ 
|ooAAAoo||ooTTToo||ooSSSoo|
|\ooooo/||\ooooo/||\ooooo/|
| ¯¯¯¯¯ || ¯¯¯¯¯ || ¯¯¯¯¯ |
 \_____/  \_____/  \_____/ 

Valid Output:
  _____    _____    _____  
 /ooooo\  /ooooo\  /ooooo\ 
|ooTTToo||ooTTToo||ooAAAoo|
|\ooooo/||\ooooo/||\ooooo/|
| ¯¯¯¯¯ || ¯¯¯¯¯ || ¯¯¯¯¯ |
 \_____/  \_____/  \_____/ 
  _____    _____    _____  
 /ooooo\  /ooooo\  /ooooo\ 
|ooSSSoo||ooSSSoo||ooAAAoo|
|\ooooo/||\ooooo/||\ooooo/|
| ¯¯¯¯¯ || ¯¯¯¯¯ || ¯¯¯¯¯ |
 \_____/  \_____/  \_____/ 

Input: [1,T],[1,A],[2,S]

Valid Output:
  _____    _____    _____    _____  
 /ooooo\  /ooooo\  /ooooo\  /ooooo\ 
|ooTTToo||ooTTToo||ooAAAoo||ooAAAoo|
|\ooooo/||\ooooo/||\ooooo/||\ooooo/|
| ¯¯¯¯¯ || ¯¯¯¯¯ || ¯¯¯¯¯ || ¯¯¯¯¯ |
 \_____/  \_____/  \_____/  \_____/ 
  _____    _____    _____    _____  
 /ooooo\  /ooooo\  /ooooo\  /ooooo\ 
|ooSSSoo||ooSSSoo||ooSSSoo||ooSSSoo|
|\ooooo/||\ooooo/||\ooooo/||\ooooo/|
| ¯¯¯¯¯ || ¯¯¯¯¯ || ¯¯¯¯¯ || ¯¯¯¯¯ |
 \_____/  \_____/  \_____/  \_____/ 

Valid Output:
  _____    _____    _____    _____  
 /ooooo\  /ooooo\  /ooooo\  /ooooo\ 
|ooTTToo||ooTTToo||ooSSSoo||ooSSSoo|
|\ooooo/||\ooooo/||\ooooo/||\ooooo/|
| ¯¯¯¯¯ || ¯¯¯¯¯ || ¯¯¯¯¯ || ¯¯¯¯¯ |
 \_____/  \_____/  \_____/  \_____/ 
  _____    _____    _____    _____  
 /ooooo\  /ooooo\  /ooooo\  /ooooo\ 
|ooAAAoo||ooAAAoo||ooSSSoo||ooSSSoo|
|\ooooo/||\ooooo/||\ooooo/||\ooooo/|
| ¯¯¯¯¯ || ¯¯¯¯¯ || ¯¯¯¯¯ || ¯¯¯¯¯ |
 \_____/  \_____/  \_____/  \_____/     

Valid Output:
  _____    _____  
 /ooooo\  /ooooo\ 
|ooAAAoo||ooAAAoo|
|\ooooo/||\ooooo/|
| ¯¯¯¯¯ || ¯¯¯¯¯ |
 \_____/  \_____/ 
  _____    _____  
 /ooooo\  /ooooo\ 
|ooSSSoo||ooSSSoo|
|\ooooo/||\ooooo/|
| ¯¯¯¯¯ || ¯¯¯¯¯ |
 \_____/  \_____/ 
  _____    _____  
 /ooooo\  /ooooo\ 
|ooSSSoo||ooSSSoo|
|\ooooo/||\ooooo/|
| ¯¯¯¯¯ || ¯¯¯¯¯ |
 \_____/  \_____/ 
  _____    _____  
 /ooooo\  /ooooo\ 
|ooTTToo||ooTTToo|
|\ooooo/||\ooooo/|
| ¯¯¯¯¯ || ¯¯¯¯¯ |
 \_____/  \_____/   


Input: [1,T],[1,S],[7,A]

Valid Output:
  _____    _____    _____    _____    _____    _____    _____    _____    _____  
 /ooooo\  /ooooo\  /ooooo\  /ooooo\  /ooooo\  /ooooo\  /ooooo\  /ooooo\  /ooooo\ 
|ooSSSoo||ooSSSoo||ooAAAoo||ooAAAoo||ooAAAoo||ooAAAoo||ooAAAoo||ooAAAoo||ooAAAoo|
|\ooooo/||\ooooo/||\ooooo/||\ooooo/||\ooooo/||\ooooo/||\ooooo/||\ooooo/||\ooooo/|
| ¯¯¯¯¯ || ¯¯¯¯¯ || ¯¯¯¯¯ || ¯¯¯¯¯ || ¯¯¯¯¯ || ¯¯¯¯¯ || ¯¯¯¯¯ || ¯¯¯¯¯ || ¯¯¯¯¯ |
 \_____/  \_____/  \_____/  \_____/  \_____/  \_____/  \_____/  \_____/  \_____/ 
  _____    _____    _____    _____    _____    _____    _____    _____    _____  
 /ooooo\  /ooooo\  /ooooo\  /ooooo\  /ooooo\  /ooooo\  /ooooo\  /ooooo\  /ooooo\ 
|ooTTToo||ooTTToo||ooAAAoo||ooAAAoo||ooAAAoo||ooAAAoo||ooAAAoo||ooAAAoo||ooAAAoo|
|\ooooo/||\ooooo/||\ooooo/||\ooooo/||\ooooo/||\ooooo/||\ooooo/||\ooooo/||\ooooo/|
| ¯¯¯¯¯ || ¯¯¯¯¯ || ¯¯¯¯¯ || ¯¯¯¯¯ || ¯¯¯¯¯ || ¯¯¯¯¯ || ¯¯¯¯¯ || ¯¯¯¯¯ || ¯¯¯¯¯ |
 \_____/  \_____/  \_____/  \_____/  \_____/  \_____/  \_____/  \_____/  \_____/    

 Valid Output:
  _____    _____     
 /ooooo\  /ooooo\    
|ooAAAoo||ooAAAoo|   
|\ooooo/||\ooooo/|   
| ¯¯¯¯¯ || ¯¯¯¯¯ |   
 \_____/  \_____/    
  _____    _____     
 /ooooo\  /ooooo\    
|ooAAAoo||ooAAAoo|   
|\ooooo/||\ooooo/|   
| ¯¯¯¯¯ || ¯¯¯¯¯ |   
 \_____/  \_____/    
  _____    _____     
 /ooooo\  /ooooo\    
|ooAAAoo||ooAAAoo|   
|\ooooo/||\ooooo/|   
| ¯¯¯¯¯ || ¯¯¯¯¯ |   
 \_____/  \_____/    
  _____    _____     
 /ooooo\  /ooooo\    
|ooAAAoo||ooAAAoo|   
|\ooooo/||\ooooo/|   
| ¯¯¯¯¯ || ¯¯¯¯¯ |   
 \_____/  \_____/    
  _____    _____     
 /ooooo\  /ooooo\    
|ooAAAoo||ooAAAoo|   
|\ooooo/||\ooooo/|   
| ¯¯¯¯¯ || ¯¯¯¯¯ |   
 \_____/  \_____/    
  _____    _____     
 /ooooo\  /ooooo\    
|ooAAAoo||ooAAAoo|   
|\ooooo/||\ooooo/|   
| ¯¯¯¯¯ || ¯¯¯¯¯ |   
 \_____/  \_____/    
  _____    _____     
 /ooooo\  /ooooo\    
|ooAAAoo||ooAAAoo|   
|\ooooo/||\ooooo/|   
| ¯¯¯¯¯ || ¯¯¯¯¯ |   
 \_____/  \_____/        
  _____    _____     
 /ooooo\  /ooooo\    
|ooSSSoo||ooSSSoo|   
|\ooooo/||\ooooo/|   
| ¯¯¯¯¯ || ¯¯¯¯¯ |   
 \_____/  \_____/    
  _____    _____       
 /ooooo\  /ooooo\  
|ooTTToo||ooTTToo|
|\ooooo/||\ooooo/|
| ¯¯¯¯¯ || ¯¯¯¯¯ |
 \_____/  \_____/   

Правила:


3
«Вы - Суши Человек»: я полагаю, что допущение, что читатель - мужчина, является проявлением неосознанного предвзятого отношения к полу, которое способствует тому, что женщины и недвоичные люди чувствуют себя нежелательно в технических условиях.
Грег Мартин

2
@GregMartin спасибо за ваш комментарий. Вы правы. Я изменил название и текст, чтобы избежать каких-либо гендерных спецификаций.
Марио

Круто, мне нравятся изменения!
Грег Мартин

В первом контрольном примере [1,T],[2,S],[3,A]допустимо или недействительно расположить их так, чтобы верхний ряд был TTSA, ряд scond - SSSA, а нижний ряд - AAAA? Не ясно, удовлетворяет ли это «всем сходным типам, близким друг к другу»; они конечно трогательные.
Грег Мартин

@GregMartin нет, это недействительно, как вы предложили, вы должны расположить каждую отдельную группу в квадраты или прямоугольники, в вашем случае S и A - нет. Это может быть, например, SSSS, TAAA, TAAA.
Марио

Ответы:


2

Python 3, 314 313 байт

l=["  _____  "," /ooooo\ ","|oo%s%s%soo|","|\ooooo/|","| ¯¯¯¯¯ |"," \_____/ "];T=('T',)*3;S=('S',)*3;A=('A',)*3;i=eval('['+input()+']');x=sum(map(lambda x:x[0],i));m=[]
for f in i:m+=[f[1]]*f[0]
for p in 1,0:
    for j in l:
        for k in range(x):print((j%m[k]if '%s' in j else j),end='')
        print()

Моя попытка в этом вызове. Это сложно!

Пример вывода:

[1,T],[1,S],[7,A]
  _____    _____    _____    _____    _____    _____    _____    _____    _____  
 /ooooo\  /ooooo\  /ooooo\  /ooooo\  /ooooo\  /ooooo\  /ooooo\  /ooooo\  /ooooo\ 
|ooTTToo||ooSSSoo||ooAAAoo||ooAAAoo||ooAAAoo||ooAAAoo||ooAAAoo||ooAAAoo||ooAAAoo|
|\ooooo/||\ooooo/||\ooooo/||\ooooo/||\ooooo/||\ooooo/||\ooooo/||\ooooo/||\ooooo/|
| ¯¯¯¯¯ || ¯¯¯¯¯ || ¯¯¯¯¯ || ¯¯¯¯¯ || ¯¯¯¯¯ || ¯¯¯¯¯ || ¯¯¯¯¯ || ¯¯¯¯¯ || ¯¯¯¯¯ |
 \_____/  \_____/  \_____/  \_____/  \_____/  \_____/  \_____/  \_____/  \_____/ 
  _____    _____    _____    _____    _____    _____    _____    _____    _____  
 /ooooo\  /ooooo\  /ooooo\  /ooooo\  /ooooo\  /ooooo\  /ooooo\  /ooooo\  /ooooo\ 
|ooTTToo||ooSSSoo||ooAAAoo||ooAAAoo||ooAAAoo||ooAAAoo||ooAAAoo||ooAAAoo||ooAAAoo|
|\ooooo/||\ooooo/||\ooooo/||\ooooo/||\ooooo/||\ooooo/||\ooooo/||\ooooo/||\ooooo/|
| ¯¯¯¯¯ || ¯¯¯¯¯ || ¯¯¯¯¯ || ¯¯¯¯¯ || ¯¯¯¯¯ || ¯¯¯¯¯ || ¯¯¯¯¯ || ¯¯¯¯¯ || ¯¯¯¯¯ |
 \_____/  \_____/  \_____/  \_____/  \_____/  \_____/  \_____/  \_____/  \_____/ 

Вместо вкладок можно использовать пробелы для отступа первого уровня и вкладки для отступа второго уровня. Это сэкономит вам всего 2 байта.
Специальный охотник за

Пространство в '%s' inтакже не требуется.
Специальный охотник за

вам не нужно место после if. Python2 сэкономит вам один отступ, а также напечатает рекламный ввод. карты длиннее понимания, если вам нужно использовать лямбды.
Maltysen
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.