C ++
 Computer >> コンピューター >  >> プログラミング >> C ++

カップと棚のすっきりとした配置がC++で作成できるかどうかを確認します


コンセプト

与えられた3種類のカップ(p [])と受け皿(q [])、およびm個の棚について、カップと棚をきちんと配置できるかどうかを判断します。

これで、次のルールに従えば、カップとソーサーの配置がきれいになります-

  • 最初のルールによると、どの棚にもカップとソーサーの両方を入れることはできません。
  • 2番目のルールによると、どの棚にも5杯までしか入れることができません。
  • 3番目のルールによると、どの棚にも10個以下の受け皿を置くことができます。

入力

p[] = {4, 3, 7}
q[] = {5, 9, 10}
m = 11

出力

Yes

説明

合計カップ=14、必要な棚=3

ソーサーの合計=24、必要な棚=3

したがって、必要な棚の合計=3 + 3 =6、

これは、指定された棚の数mよりも小さいです。したがって、出力は「はい」です。

入力

p[] = {5, 8, 5}
q[] = {4, 10, 11}
m = 3

出力

No

合計カップ=18、必要な棚=4

ソーサーの合計=25、必要な棚=3

したがって、必要な棚の合計=4 + 3 =7

これは、指定された棚の数mよりも大きいです。したがって、出力はNoです。

メソッド

カップと受け皿を配置するために、カップの総数pとソーサーの総数qを決定します。同じ棚に5杯を超えることはできないため、式(p + 5-1)/ 5でカップに必要な最大棚数を決定し、式(p + 5-1)/5を実行して受け皿に必要な最大棚数を決定します。 q + 10-1)/10。これらの2つの値の合計がm以下の場合、それ以外の場合は配置が可能であることがわかっています。

// C++ code to find if neat
// arrangement of cups and
// shelves can be made
#include<bits/stdc++.h>
using namespace std;
// Shows function to check arrangement
void canArrange1(int p[], int q[], int m){
   int sump = 0, sumq = 0;
   // Used to calculate total number
   // of cups
   for(int i = 0; i < 3; i++)
      sump += p[i];
   // Used to calculate total number
   // of saucers
   for(int i = 0; i < 3; i++)
      sumq += q[i];
   // Now adding 5 and 10 so that if the
   // total sum is smaller than 5 and
   // 10 then we can get 1 as the
   // answer and not 0
   int mp = (sump + 5 - 1) / 5;
   int mq = (sumq + 10 - 1) / 10;
   if(mp + mq <= m)
      cout << "Yes";
   else
      cout << "No";
}
// Driver code
int main(){
   // Shows number of cups of each type
   int p[] = {4, 3, 7};
   // Shows number of saucers of each type
   int q[] = {5, 9, 10};
   // Shows number of shelves
   int m = 10;
   // ndicates calling function
   canArrange1(p, q, m);
   return 0;
}

出力

Yes

  1. C ++変数はconstとvolatileの両方にすることができますか?

    はい、C++変数はconstとvolatileの両方である必要があります。これは、読み取り専用のハードウェアレジスタ、または別のスレッドの出力などの状況で使用されます。 Volatileは、現在のスレッドの外部の何かによって変更される可能性があることを意味し、Constは、(const宣言を使用しているプログラムで)書き込みを行わないことを意味します。

  2. カップと棚のすっきりとした配置がPythonでできるかどうかを調べます

    配列pに3種類のカップがあり、配列qとmの棚に受け皿があるとすると、カップと棚をきちんと配置できるかどうかを確認する必要があります。 これらの条件に従えば、カップとソーサーの配置はきれいになると言えます。-1。カップとソーサーの両方を収納できる棚はありません。 2.自己には最大5つのカップを含めることができます。 3.自己には最大10個の受け皿を含めることができます。 したがって、入力がp =[4、3、7] q =[5、9、10] m =11の場合、カップの総数=14、3つの棚、合計の受け皿が必要になるため、出力はTrueになります。 =24、3つの棚が必要です。したがって、必要な棚の総数