प्रौद्योगिकी साझेदारी

Huawei कम्प्यूटर-आधारित परीक्षा वास्तविक प्रश्न--बास्केटबॉल खेल

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

विषयविवरणम् : १.

बालवाड़ीयां उल्टा पिपासा अस्ति तत् करेखीय संरचना , बास्केटबॉलं केवलं लोटे दक्षिणभागे एव स्थापयितुं शक्यते, परन्तु बास्केटबॉलं लोटे वामभागे दक्षिणभागे वा बहिः नेतुं शक्यते । प्रत्येकस्य बास्केटबॉलस्य पृथक् संख्या भवति शिक्षकः एकस्मिन् समये एकं वा अधिकं बास्केटबॉलं स्थापयितुं शक्नोति यदा लोटायां एकः एव बास्केटबॉलः भवति लोटस्य वामभागात् बहिः।

यथा - यदि आचार्यः १, २, ३, ४, ५ इति पञ्च बास्केटबॉल-क्रीडाः क्रमेण स्थापयति तर्हि बालकाः "१, २, ३, ४, ५" अथवा "३, १, २, २," इति संख्यां बहिः आनेतुं शक्नुवन्ति । बास्केटबॉल-क्रीडायाः संख्या "४,५" आसीत्, परन्तु "५,१,३,२,४" इति संख्यायाः बास्केटबॉल-क्रीडाः बहिः न निष्कासयितुं शक्यन्ते । तेषु "३,१,२,४,५" इति क्रमसङ्ख्यायाः टेक-आउट परिदृश्यम् अस्ति : १,२,३ सङ्ख्याः निरन्तरं स्थापयन्तु -> दक्षिणतः ३ सङ्ख्यां बहिः निष्कासयन्तु -> १ सङ्ख्यां बहिः निष्कासयन्तु वामभागे -> वामतः २ सङ्ख्यां बहिः निष्कासयन्तु -> ४ क्रमाङ्कं स्थापयन्तु -> वामतः ४ क्रमाङ्कं बहिः निष्कासयन्तु -> ५ क्रमाङ्कं स्थापयन्तु -> वामतः ५ क्रमाङ्कं बहिः निष्कासयन्तु सरलता, वयं वामतः बहिः गृहीतस्य बास्केटबॉलस्य प्रतिनिधित्वार्थं L इत्यस्य उपयोगं कुर्मः, दक्षिणतः बहिः गृहीतस्य बास्केटबॉलस्य प्रतिनिधित्वार्थं च R इत्यस्य उपयोगं कुर्मः अस्मिन् समये बास्केटबॉलस्य क्रमः पुनः प्राप्तः क्रमः " RLLLL " अस्ति

विवरणं प्रविशतु : १.

प्रथमपङ्क्तौ ये सङ्ख्याः सन्ति ते बास्केटबॉलसङ्ख्यारूपेण कार्यं कुर्वन्ति, येषां क्रमेण शिक्षकः स्थापयति;
द्वितीयपङ्क्तौ स्थापिताः सङ्ख्याः बास्केटबॉलसङ्ख्यारूपेण उपयुज्यन्ते यत् तेषां स्थापितक्रमेण बहिः निकासयितुं शक्यते वा इति परीक्षितव्या;
तेषु बास्केटबॉलसङ्ख्याः अल्पविरामेन पृथक् भवन्ति ।

उत्पादनविवरणम् : १.

प्रत्येकस्य बास्केटबॉलस्य निष्कासनक्रमस्य कृते यदि खलु प्राप्तुं शक्यते तर्हि कृपया वामदक्षिणक्रियानुसारं निष्कासनक्रमं मुद्रयन्तु अन्यथा "NO" मुद्रयन्तु;

विशेष ध्यानस्य वस्तूनि : १.
1. 1<=बास्केटबॉलस्य संख्या, बास्केटबॉलस्य संख्या<=200;
2. बास्केटबॉल-क्रीडायां सङ्ख्याः पुनरावृत्तिः न भवन्ति;
3. आउटपुट् परिणामेषु LR बृहत् अक्षरेषु भवितुमर्हति;

उदाहरणम् १ : १.

प्रवेश
4,5,6,7,0,1,2
6,4,0,1,2,5,7


उत्पादनम्
आरएलआरआरआरएल
नोटः- बास्केटबॉलं बहिः निष्कासनस्य क्रमः "दक्षिण, वाम, दक्षिण, दक्षिण, दक्षिण, वाम, वाम" इति ।

उदाहरणम् २ : १.

प्रवेश
4,5,6,7,0,1,2
6,0,5,1,2,4,7


उत्पादनम् : १.
नहि
विवरणम् : तत्सम्बद्धस्य क्रमस्य बास्केटबॉलं बहिः न गृहीतुं शक्यते

उदाहरणम् ३ : १.

प्रवेश
1,2,3,4
1,2,3,5


उत्पादनम्
नहि
व्याख्या : ५ सङ्ख्यायुक्तं बास्केटबॉलं नास्ति, अतः तत्सम्बद्धं सङ्ख्यायुक्तं दत्तांशं पुनः प्राप्तुं न शक्यते ।

C++ स्रोतसङ्केतः : १.

  1. #include <iostream>
  2. #include <sstream>
  3. #include <queue>
  4. #include <string>
  5. #include <vector>
  6. using namespace std;
  7. int main() {
  8. ios::sync_with_stdio(false);
  9. cin.tie(nullptr);
  10. queue<int> ball, get;
  11. deque<int> list;
  12. string input;
  13. getline(cin, input); // 获取第一行数据,篮球的放入顺序
  14. stringstream ss(input);
  15. string temp;
  16. while (getline(ss, temp, ',')) {
  17. ball.push(stoi(temp));
  18. }
  19. getline(cin, input); // 获取第二行数据,篮球的取出顺序
  20. ss.clear();
  21. ss.str(input);
  22. while (getline(ss, temp, ',')) {
  23. get.push(stoi(temp));
  24. }
  25. int ballNum = 0; // 统计输入的字符串中篮球编号的个数
  26. for (int i = 0; i < input.size(); i++)
  27. {
  28. if (input[i] != ',') {
  29. ballNum++;
  30. }
  31. }
  32. string direction; // 对篮球的取出顺序进行记录
  33. while (!get.empty()) {
  34. if (list.empty() && !ball.empty()) {
  35. list.push_back(ball.front());
  36. ball.pop();
  37. }
  38. if (list.empty()) {
  39. break;
  40. }
  41. int tempL = list.front(), tempR = list.back();
  42. int temp = get.front();
  43. if (temp == tempL) {
  44. get.pop();
  45. list.pop_front();
  46. direction = direction + 'L';
  47. }
  48. else if (temp == tempR) {
  49. get.pop();
  50. list.pop_back();
  51. direction = direction + 'R';
  52. }
  53. else {
  54. if (ball.empty()) {
  55. break;
  56. }
  57. list.push_back(ball.front());
  58. ball.pop();
  59. }
  60. }
  61. // 输出取出顺序
  62. if (ballNum == direction.size()) {
  63. cout << direction << endl;
  64. }
  65. else {
  66. cout << "NO" << endl;
  67. }
  68. system("pause");
  69. return 0;
  70. }