Buatkan aku sushi

11

Saatnya makan siang, saya lapar dan saya datang ke Sushi Bar Anda. Anda adalah Chef Sushi dan Anda harus membuat program atau fungsi lengkap untuk membuatkan saya sushi!

masukkan deskripsi gambar di sini Penghargaan: Wikipedia

Penafian: Gambar hanya untuk tujuan ilustrasi dan tidak selalu mewakili produk yang tepat.

Meskipun Anda memiliki bahan terbatas (karena pemogokan pengemudi truk) itu akan baik-baik saja bagi saya.

Bahan-bahan yang Anda miliki (dalam jumlah banyak) adalah:

  • Rumput laut Nori (dibuat dengan \/_¯|:)
  • Tuna Mentah ( T)
  • Salmon mentah ( S)
  • Alpukat Mentah ( A)
  • Sushi Rice ( o)

Dengan bahan-bahan ini Anda dapat membuat makis yang bagus untuk klien Anda.

Pembelian minimum Anda adalah $ 1 untuk 2 makis, Anda hanya membuat pasangan Makis dan hanya menerima angka bulat sebagai pembayaran. Anda menerima pesanan hingga $ 50 per orang (total input) karena Anda sendirian dan Anda harus memuaskan semua klien Anda.

Anda harus mendapatkan pesanan klien dari input standar dalam format wajar apa pun, misalnya: [1,T],[2,S],[3,A]yang berarti bahwa Anda harus menampilkan:

  • Dua Tuna Makis
  • Empat Salmon Makis
  • Six Avocado Makis

Satu maki dibuat persis seperti ini:

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

Dan karena Anda adalah Chef Sushi yang baik, Anda selalu mengatur maki dengan potongan-potongan dari jenis apa pun yang diberikan dalam bentuk persegi atau paling banyak dalam bentuk persegi panjang (sedekat mungkin dengan persegi) tanpa celah. Bentuk keseluruhan juga persegi atau persegi panjang, sedekat mungkin dengan sebuah persegi mengingat pembatasan di atas, tanpa celah.

Contoh input / output:

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/|
| ¯¯¯¯¯ || ¯¯¯¯¯ |
 \_____/  \_____/   

Aturan:

Mario
sumber
3
"You is the Sushi Man": Saya percaya bahwa dengan menganggap pembaca adalah pria adalah manifestasi dari bias gender yang tidak disadari, yang berkontribusi pada wanita dan orang-orang non-biner yang merasa tidak disukai dalam konteks teknologi.
Greg Martin
2
@GregMartin terima kasih atas komentar Anda. Kamu benar. Saya mengubah judul dan teks untuk menghindari spesifikasi gender.
Mario
Luar biasa, saya suka perubahannya!
Greg Martin
Dalam kasus uji pertama [1,T],[2,S],[3,A], apakah valid atau tidak valid untuk mengaturnya sehingga baris atas adalah TTSA, baris scond adalah SSSA, dan baris bawah adalah AAAA? Tidak jelas apakah ini memuaskan "semua tipe yang mirip dekat satu sama lain"; mereka tentu menyentuh.
Greg Martin
@GregMartin tidak, itu tidak valid seperti yang Anda usulkan, Anda harus mengatur setiap kelompok individu menjadi kotak atau persegi panjang, dalam kasus Anda S dan A tidak. Bisa jadi SSSS, TAAA, TAAA misalnya.
Mario

Jawaban:

2

Python 3, 314 313 byte

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()

Usaha saya menghadapi tantangan ini. Sulit!

Output sampel:

[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/|
| ¯¯¯¯¯ || ¯¯¯¯¯ || ¯¯¯¯¯ || ¯¯¯¯¯ || ¯¯¯¯¯ || ¯¯¯¯¯ || ¯¯¯¯¯ || ¯¯¯¯¯ || ¯¯¯¯¯ |
 \_____/  \_____/  \_____/  \_____/  \_____/  \_____/  \_____/  \_____/  \_____/ 
Tidak Ada Di Sini
sumber
Alih-alih menggunakan tab, Anda bisa menggunakan spasi untuk indentasi level satu dan tab untuk indentasi level dua. Ini akan menghemat 2 byte secara keseluruhan.
Ad Hoc Garf Hunter
Ruang di '%s' injuga tidak perlu.
Ad Hoc Garf Hunter
Anda tidak perlu ruang setelahnya if. Python2 akan menghemat satu indentasi dan juga input iklan cetak. peta lebih panjang daripada pemahaman jika Anda harus menggunakan lambdas.
Maltysen