1. 程式人生 > >【PAT-B】1029 到底買不買(C++)

【PAT-B】1029 到底買不買(C++)

題目描述

題目描述
小紅想買些珠子做一串自己喜歡的珠串。賣珠子的攤主有很多串五顏六色的珠串,但是不肯把任何一串拆散了賣。於是小紅要你幫忙判斷一下,某串珠子裡是否包含了全部自己想要的珠子?如果是,那麼告訴她有多少多餘的珠子;如果不是,那麼告訴她缺了多少珠子。
為方便起見,我們用[0-9]、[a-z]、[A-Z]範圍內的字元來表示顏色。例如,YrR8RrY是小紅想做的珠串;那麼ppRYYGrrYBR2258可以買,因為包含了全部她想要的珠子,還多了8顆不需要的珠子;ppRYYGrrYB225不能買,因為沒有黑色珠子,並且少了一顆紅色的珠子。

輸入描述:
每個輸入包含1個測試用例。每個測試用例分別在2行中先後給出攤主的珠串和小紅想做的珠串,兩串都不超過1000個珠子。

輸出描述:
如果可以買,則在一行中輸出“Yes”以及有多少多餘的珠子;如果不可以買,則在一行中輸出“No”以及缺了多少珠子。其間以1個空格分隔。

輸入例子:
ppRYYGrrYBR2258
YrR8RrY

輸出例子:
Yes 8

解題思路

1. 根據題目意思,就是進行字串操作,即在第一個字串(s1)中匹配第二個字串(s2)的所有字母(匹配到的不可再次參與匹配)
2. 寫一個模組,主要滿足兩個功能,一是判斷是否s1中可以匹配s2中所有字母(s1中已經與s2匹配到的不參與再次匹配),二是統計s1中多餘字元的數目或者s2中未匹配字元的數目

程式碼設計

【任務】


在第一個字串(s1)中匹配第二個字串(s2)的所有字母(s1中已經與s2匹配到的不參與再次匹配)
【說明】
主要滿足兩個功能,一是判斷是否s1中可以匹配s2中所有字母(s1中已經與s2匹配到的不參與再次匹配),二是統計s1中多餘字元的數目或者s2中未匹配字元的數目
【介面】
bool fun(string s1,string s2,int& n)
輸入:s1、s2 分別是第一個字串和第二個字串
輸出:是否s2的所有字母是否可以再s1中全部匹配,以及缺少和多餘的數目n

//部分程式碼
//zhicheng
bool fun(string s1,string
s2,int& n) { n=0; bool fg=true; for(int i=0,j;i<s2.length();i++) { for(j=0;j<s1.length();j++) if(s2[i]==s1[j]) {s1[j]='*';break;} if(j<s1.length()) continue; //無法組成 fg=false; n++; } if(fg)//可以組成 for(int i=0;i<s1.length();i++) if(s1[i]!='*') n++; //cout<<s1<<" "<<s2<<endl; return fg; }

鋪子日常更新,如有錯誤請指正
傳送門:程式碼連結 題目連結 PAT-B題解

相關推薦

PAT-B1029 到底C++

題目描述 題目描述 小紅想買些珠子做一串自己喜歡的珠串。賣珠子的攤主有很多串五顏六色的珠串,但是不肯把任何一串拆散了賣。於是小紅要你幫忙判斷一下,某串珠子裡是否包含了全部自己想要的珠子?如果是,那麼

poj 3126Prime Path 題意&題解&程式碼C++

變換的過程要保證 每次變換出來的數都是一個 四位素數,而且當前這步的變換所得的素數 與 前一步得到的素數 只能有一個位不同,而且每步得到的素數都不能重複。 求從a到b最少需要的變換次數。無

PAT-B1009 說反話 寫題記錄

注意字串後面要加'\0' #include <stdio.h> #include <string.h> int main(){ char input[85]; char output[50][20]; gets(input); int len = strlen(i

PAT甲級1052 Linked List Sorting (25)連結串列排序

題目連結 A linked list consists of a series of structures, which are not necessarily adjacent in memory. We assume that each structure contai

PAT 甲級1007 Maximum Subsequence Sum (25)25 分

題目連結 作者: CHEN, Yue 單位: PAT聯盟 時間限制: 400ms 記憶體限制: 64MB 程式碼長度限制: 16KB Given a sequence of K integers { N~1~, N~2~, …, N~K~ }. A

Office 365Exchange Online 直接轉換遷移Cutover問題排查

office 直接 轉換遷移 在本次直接轉換遷移(Cutover)項目中遇到一部分郵箱遷移錯誤,部分是由於該郵箱關聯的Manager賬號或郵箱傳遞限制權限中有問題。部分郵箱遷移報錯信息如下: 在AD中找到該用戶並查看屬性,在Organization頁面看到Manager的選項,並確認

分治法最接近點對問題

線性 sig 2個 線性時間選擇 i++ srand 排序算法 esp 坐標 轉自:http://blog.csdn.net/liufeng_king/article/details/8484284 問題場景:在應用中,常用諸如點、圓等簡單的幾何對象代表現實世界中的實體。在

計算機網絡詳解網絡層ARP和RARP

博文 拆分 detail 動態 再次 tcp 將在 ont 關於 ARP ARP(Address Resolution Protocol,地址解析協議)是將IP地址解析為以太網MAC地址(物理地址)的協議。在局域網中,當主機或其他網絡設備有數據要發送給另一個主機或設備時,它

算法哈希表的誕生Java

sys 什麽是 ros http 鍵值 private 問題 現象 三種 參考資料 《算法(java)》 — — Robert Sedgewick, Kevin Wayne 《數據結構》

機器學習谷歌的速成課程

label spa dev 分類 ram 做出 org ron 表示 問題構建 (Framing) 什麽是(監督式)機器學習?簡單來說,它的定義如下: 機器學習系統通過學習如何組合輸入信息來對從未見過的數據做出有用的預測。 標簽 在簡單線性回歸中,標簽是我們要預測

Android-3Android中的任務棧Task

集合 情況下 清除 bsp 生命周期方法 任務棧 保存 sin 也會 一、Android任務棧 概述:Android中的任務棧其實就是Activity的集合,在Android中退出程序的時候必須把任務棧中的所有Activity清除出棧,此時才能安全的完全的退出程序, 任務棧

AI基礎python:openCV——圖像處理1

python python:openCV OpenCV圖像的基本操作 :使用包cv2,numpy import cv2 import numpy as np img = cv2.imread(‘1.jpg‘) cv2.imshow(‘image‘,img) k = cv2.waitKey(0) "

AI基礎python:openCV——圖像處理2

getTrackbarPos圖像處理練習 制作一個滑動條調色板,使用函數cv2.getTrackbarPos();cv2.creatTrackbar() import cv2 import numpy as np def nothing(x): pass img = np.zeros((300,5

AWS系列鐳速RaySync VS FTP 1- AWS加州北到阿裏雲深圳

傳輸 測試 AWS 鐳速 測試軟件信息 鐳速RaySync下載地址: Windows Server: https://www.raysync.cn/support_for_windows.html Linux Server: https://www.raysync.cn/support_fo

AWS系列鐳速RaySync VS FTP 5- AWS法蘭克福到阿裏雲深圳

傳輸 測試 AWS raysync 鐳速 測試軟件信息?鐳速RaySync下載地址: Windows Server: https://www.raysync.cn/support_for_windows.html Linux Server: https://www.raysync.cn/s

AWS系列鐳速RaySync VS FTP 6- AWS加拿大到阿裏雲深圳

傳輸 測試 AWS 鐳速 raysync 測試軟件信息 鐳速RaySync下載地址: Windows Server: https://www.raysync.cn/support_for_windows.html Linux Server: https://www.raysync.cn/s

AWS系列鐳速RaySync VS FTP 3- AWS倫敦到阿裏雲深圳

傳輸 測試 鐳速 測試軟件信息 鐳速RaySync下載地址: Windows Server: https://www.raysync.cn/support_for_windows.html Linux Server: https://www.raysync.cn/support_for_linux

AWS系列鐳速RaySync VS FTP 4- AWS愛爾蘭到阿裏雲深圳

傳輸 測試 AWS raysync 測試軟件信息 鐳速RaySync下載地址: Windows Server: https://www.raysync.cn/support_for_windows.html Linux Server: https://www.raysync.cn/suppor

AWS系列鐳速RaySync VS FTP 2- AWS巴西聖保羅到阿裏雲深圳

傳輸 測試 數據 鐳速 測試軟件信息 鐳速RaySync下載地址: Windows Server: https://www.raysync.cn/support_for_windows.html Linux Server: https://www.raysync.cn/support_for

AWS系列鐳速RaySync VS FTP 9- AWS新加坡到阿裏雲深圳

傳輸 測試 AWS 鐳速 raysync 測試軟件信息 鐳速RaySync下載地址: Windows Server: https://www.raysync.cn/support_for_windows.html Linux Server: https://www.raysync.cn/s