Averigüe si se pueden hacer arreglos ordenados de tazas y estantes

Dados tres tipos diferentes de tazas (a[]) y platillos (b[]), y n número de estantes, encuentre si se puede hacer una disposición ordenada de tazas y estantes. 
La disposición de las tazas y platillos será ordenada si sigue las siguientes reglas: 
 

  • Ningún estante puede contener tazas y platillos
  • No puede haber más de 5 tazas en ningún estante.
  • No puede haber más de 10 platillos en cualquier estante.

Ejemplos: 
 

Input : a[] = {3, 2, 6}
        b[] = {4, 8, 9}
        n = 10
Output : Yes
Explanation :  
Total cups = 11, shelves required = 3
Total saucers = 21, shelves required = 3
Total required shelves = 3 + 3 = 6, 
which is less than given number of 
shelves n. So, output is Yes.

Input : a[] = {4, 7, 4}
        b[] = {3, 9, 10}
        n = 2
Output : No

Planteamiento: Para ordenar las tazas y los platillos, averigüe el número total de tazas  a  y el número total de platillos  b  . Dado que no puede haber más de 5 tazas en el mismo estante, averigüe el número máximo de estantes requeridos para taza por la fórmula  \frac{a+5-1}{5}  y el número máximo de estantes requeridos para platillos usando la fórmula  \frac{b+10-1}{10}  . Si la suma de estos dos valores es igual o menor que  norte  entonces el arreglo es posible, de lo contrario no.
A continuación se muestra la implementación del enfoque anterior: 
 

C++

// C++ code to find if neat
// arrangement of cups and
// shelves can be made
#include<bits/stdc++.h>
using namespace std;
 
// Function to check arrangement
void canArrange(int a[], int b[], int n)
{
    int suma = 0, sumb = 0;
     
    // Calculating total number
    // of cups
    for(int i = 0; i < 3; i++)
        suma += a[i];
         
    // Calculating total number
    // of saucers
    for(int i = 0; i < 3; i++)
        sumb += b[i];
         
    // Adding 5 and 10 so that if the
    // total sum is less than 5 and
    // 10 then we can get 1 as the
    // answer and not 0
    int na = (suma + 5 - 1) / 5;
    int nb = (sumb + 10 - 1) / 10;
     
    if(na + nb <= n)
        cout << "Yes";
    else
        cout << "No";
}
 
// Driver code
int main()
{
    // Number of cups of each type
    int a[] = {3, 2, 6};
     
    // Number of saucers of each type
    int b[] = {4, 8, 9};
     
    // Number of shelves
    int n = 10;
     
    // Calling function
    canArrange(a, b, n);
    return 0;
}

Java

// Java code to find if neat
// arrangement of cups and
// shelves can be made
import java.io.*;
 
class Gfg
{
    // Function to check arrangement
    public static void canArrange(int a[], int b[],
                                           int n)
    {
        int suma = 0, sumb = 0;
         
        // Calculating total number
        // of cups
        for(int i = 0; i < 3; i++)
            suma += a[i];
             
        // Calculating total number
        // of saucers
        for(int i = 0; i < 3; i++)
            sumb += b[i];
             
        // Adding 5 and 10 so that if
        // the total sum is less than
        // 5 and 10 then we can get 1
        // as the answer and not 0
        int na = (suma + 5 - 1) / 5;
        int nb = (sumb + 10 - 1) / 10;
         
        if(na + nb <= n)
            System.out.println("Yes");
        else
            System.out.println("No");
    }
     
    // Driver function
    public static void main(String args[])
    {
        // Number of cups of each type
        int a[] = {3, 2, 6};
         
        // Number of saucers of each type
        int b[] = {4, 8, 9};
         
        // Number of shelves
        int n = 10;
         
        // Calling function
        canArrange(a, b, n);
    }
}

Python 3

# Python code to find if neat
# arrangement of cups and
# shelves can be made
 
import math
 
# Function to check arrangement
def canArrange( a, b, n):
        suma = 0
        sumb = 0
         
        # Calculating total number
        # of cups
        for i in range(0, len(a)):
            suma += a[i]
             
        # Calculating total number
        # of saucers
        for i in range(0,len(b)):
            sumb += b[i]
             
        # Adding 5 and 10 so that if
        # the total sum is less than
        # 5 and 10 then we can get 1
        # as the answer and not 0
        na = (suma + 5 - 1) / 5
        nb = (sumb + 10 - 1) / 10
         
        if(na + nb <= n):
            print("Yes")
        else:
            print("No")
         
# driver function
 
#Number of cups of each type
a = [3, 2, 6]
 
# Number of saucers of each type
b = [4, 8, 9]
 
# Number of shelves
n = 10
 
#Calling function
canArrange(a ,b ,n)
 
 
# This code is contributed by Gitanjali.

C#

// C# code to find if neat
// arrangement of cups and
// shelves can be made
using System;
 
class Gfg {
     
    // Function to check arrangement
    public static void canArrange(int []a, int []b,
                                        int n)
    {
         
        int suma = 0, sumb = 0;
         
        // Calculating total number
        // of cups
        for(int i = 0; i < 3; i++)
            suma += a[i];
             
        // Calculating total number
        // of saucers
        for(int i = 0; i < 3; i++)
            sumb += b[i];
             
        // Adding 5 and 10 so that if
        // the total sum is less than
        // 5 and 10 then we can get 1
        // as the answer and not 0
        int na = (suma + 5 - 1) / 5;
        int nb = (sumb + 10 - 1) / 10;
         
        if(na + nb <= n)
            Console.WriteLine("Yes");
        else
            Console.WriteLine("No");
    }
     
    // Driver function
    public static void Main()
    {
         
        // Number of cups of each type
        int []a = {3, 2, 6};
         
        // Number of saucers of each type
        int []b = {4, 8, 9};
         
        // Number of shelves
        int n = 10;
         
        // Calling function
        canArrange(a, b, n);
    }
}
 
// This code is contributed by vt_m.

PHP

<?php
// PHP code to find if neat
// arrangement of cups and
// shelves can be made
 
 
// Function to check arrangement
function canArrange($a, $b, $n)
{
    $suma = 0; $sumb = 0;
     
    // Calculating total number
    // of cups
    for( $i = 0; $i < 3; $i++)
        $suma += $a[$i];
         
    // Calculating total number
    // of saucers
    for( $i = 0; $i < 3; $i++)
        $sumb += $b[$i];
         
    // Adding 5 and 10 so that if the
    // total sum is less than 5 and
    // 10 then we can get 1 as the
    // answer and not 0
    $na = ($suma + 5 - 1) / 5;
    $nb = ($sumb + 10 - 1) / 10;
     
    if($na + $nb <= $n)
        echo "Yes";
    else
        echo "No";
}
 
    // Driver code
 
    // Number of cups of each type
    $a = array(3, 2, 6);
     
    // Number of saucers of each type
    $b = array(4, 8, 9);
     
    // Number of shelves
    $n = 10;
     
    // Calling function
    canArrange($a, $b, $n);
 
// This code is contributed by vt_m.
?>

Javascript

<script>
 
// Javascript code to find if neat
// arrangement of cups and
// shelves can be made
 
// Function to check arrangement
function canArrange( a, b, n)
{
    let suma = 0, sumb = 0;
     
    // Calculating total number
    // of cups
    for(let i = 0; i < 3; i++)
        suma += a[i];
     
    // Calculating total number
    // of saucers
    for(let i = 0; i < 3; i++)
        sumb += b[i];
     
      
    // Adding 5 and 10 so that if the
    // total sum is less than 5 and
    // 10 then we can get 1 as the
    // answer and not 0
    let na = Math.floor((suma + 5 - 1)/5);
    let nb = Math.floor((sumb + 10 - 1)/10);
        
             
    if(na + nb <= n)
        document.write("Yes");
    else
        document.write("No");
}
 
 
    // driver code
     
    // Number of cups of each type
    let a = [3, 2, 6];
     
     
    // Number of saucers of each type
    let b = [4, 8, 9];
     
    // Number of shelves
    let n = 10;
     
    // Calling function
    canArrange(a, b, n);
 
     
</script>

Producción: 
 

Yes

Publicación traducida automáticamente

Artículo escrito por HGaur y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *