Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> C++

सी ++ कोड पानी डालने के खेल की जाँच करने के लिए सभी विजेता हैं या नहीं

मान लीजिए कि हमारे पास n तत्वों के साथ एक सरणी A है और दूसरी संख्या s है। मेज पर एक खाली पानी का मग और n खाली पानी का मग है। एक खेल में, कुछ खिलाड़ी होते हैं। प्रत्येक चाल में, एक खिलाड़ी पानी का एक खाली मग लेता है और उसमें से सारा पानी कप में डाल देता है। यदि यह ओवरफिल हो जाता है, तो खिलाड़ी हार जाएगा। हमें यह देखना होगा कि वे सभी विजेता होंगे या नहीं (कप ओवरफिल नहीं होगा)। यदि एक अप पहले ही पूरी तरह से भर चुका है, तो अगला खिलाड़ी अपनी चाल नहीं चलेगा। यहाँ s खाली कप की क्षमता है और A[i] ith कप में मौजूद पानी की मात्रा है।

तो, अगर इनपुट ए =[3, 1, 3] जैसा है; s =4, तो आउटपुट ट्रू होगा, क्योंकि पहले और दूसरे प्लेयर द्वारा कप भर जाएगा। आखिरी के लिए, खिलाड़ी उस चाल को नहीं खेलेगा।

कदम

इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -

k := 0
n := size of A
sort the array A
for initialize i := 0, when i < n - 1, update (increase i by 1), do:
   k := k + A[i]
if k > s, then:
   return false
Otherwise
   return true

उदाहरण

आइए बेहतर समझ पाने के लिए निम्नलिखित कार्यान्वयन देखें -

#include <bits/stdc++.h>
using namespace std;
bool solve(vector<int> A, int s){
   int k = 0;
   int n = A.size();
   sort(A.begin(), A.end());
   for (int i = 0; i < n - 1; i++)
      k += A[i];
   if (k > s)
      return false;
   else
      return true;
}
int main(){
   vector<int> A = { 3, 1, 3 };
   int s = 4;
   cout << solve(A, s) << endl;
}

इनपुट

{ 3, 1, 3 }, 4

आउटपुट

1

  1. जाँच करें कि कोई ट्री आइसोमॉर्फिक है या नहीं C++ में

    एक बाइनरी ट्री में, प्रत्येक नोड में दो बच्चे होते हैं, अर्थात, बायाँ बच्चा और दायाँ बच्चा। मान लें कि हमारे पास दो बाइनरी ट्री हैं और कार्य यह जांचना है कि क्या एक पेड़ के बाईं ओर से दूसरे पेड़ को फ़्लिप करके प्राप्त किया जा सकता है या नहीं। एक पेड़ आइसोमॉर्फिक होता है अगर इसे दूसरे पेड़ के बाईं ओ

  1. जांचें कि कोई संख्या कृष्णमूर्ति संख्या है या नहीं C++

    यहां हम देखेंगे कि किसी संख्या की जांच कैसे करें कृष्णमूर्ति संख्या है या नहीं। एक संख्या कृष्णमूर्ति संख्या होती है, यदि प्रत्येक अंक के भाज्य का योग संख्या के समान हो। उदाहरण के लिए, यदि कोई संख्या 145 है, तो योग =1! +4! +5! =1 + 24 + 120 =145। तो यह कृष्णमूर्ति संख्या है, तर्क सरल है, हमें प्रत्

  1. जांचें कि बाइनरी स्ट्रिंग में 1s के बीच 0 है या नहीं C++

    यहां हम एक दिलचस्प समस्या देखेंगे। हमें यह जांचना है कि किसी स्ट्रिंग में 1s के बीच में 0 है या नहीं। यदि नहीं, तो स्ट्रिंग मान्य है, अन्यथा अमान्य है। मान लीजिए कि तीन तार हैं - 10001111010 00001111100 01111101111 इन तीन स्ट्रिंग्स में से केवल B ही मान्य है, क्योंकि 1s की स्ट्रीम के अंदर कोई 0 न