題目描述輸入描述:
每個輸入包含1個測試用例。每個測試用例分別在2行中先後給出攤主的珠串和小紅想做的珠串,兩串都不超過1000個珠子。
輸出描述:
如果可以買,則在一行中輸出「yes」以及有多少多餘的珠子;如果不可以買,則在一行中輸出「no」以及缺了多少珠子。其間以1個空格分隔。
輸入例子:
ppryygrrybr2258
yrr8rry
輸出例子:
yes 8
python**
n=
input()
#注意縮排哦!
m=input()
a=set
(m)#set()是乙個無序的不重複元素序列集合
less=
0for i in a:
if n.count(i)
<= m.count(i)
:#count() 方法用於統計字串裡某個字元出現的次數。
less = less +
(m.count(i)
-n.count(i)
)#可直接統計缺了多少個珠子
if less !=0:
print
("no %d"
%less)
else
:print
("yes %d"%(
len(n)
-len
(m))
)#len() 方法返回物件(字元、列表、元組等)長度或專案個數。
c**
解析:用簡單暴力的字元記錄方法:使用int[128]陣列記錄每種字元(顏色)的數量,直接將字元的值作為索引。
(更新)只用乙個陣列來記錄。第一行記錄的時候增加計數,第二行記錄的時候減少計數。那麼正數表示這種顏色足夠,負數表示這種顏色不足。
將正數和負數分別累加。如果缺少的數量累計值為0,說明足夠——可以買,否則缺少的值表示缺少了多少珠子。
#include
intmain()
,i;while
((c=
getchar()
)!='\n'
) record[
(int
)c]++
;while
((c=
getchar()
)!='\n'
) record[
(int
)c]--
;int more=
0,less=0;
for(i=
0;i<
128;i++)if
(less)
printf
("no %d"
,less)
;else
printf
("yes %d"
,more)
;return0;
}
1039 到底買不買(20 分)
1039 到底買不買 20 分 小紅想買些珠子做一串自己喜歡的珠串。賣珠子的攤主有很多串五顏六色的珠串,但是不肯把任何一串拆散了賣。於是小紅要你幫忙判斷一下,某串珠子裡是否包含了全部自己想要的珠子?如果是,那麼告訴她有多少多餘的珠子 如果不是,那麼告訴她缺了多少珠子。為方便起見,我們用 0 9 a ...
1039 到底買不買(20 分)
小紅想買些珠子做一串自己喜歡的珠串。賣珠子的攤主有很多串五顏六色的珠串,但是不肯把任何一串拆散了賣。於是小紅要你幫忙判斷一下,某串珠子裡是否包含了全部自己想要的珠子?如果是,那麼告訴她有多少多餘的珠子 如果不是,那麼告訴她缺了多少珠子。為方便起見,我們用 0 9 a z a z 範圍內的字元來表示顏...
1039 到底買不買 (20 分)
小紅想買些珠子做一串自己喜歡的珠串。賣珠子的攤主有很多串五顏六色的珠串,但是不肯把任何一串拆散了賣。於是小紅要你幫忙判斷一下,某串珠子裡是否包含了全部自己想要的珠子?如果是,那麼告訴她有多少多餘的珠子 如果不是,那麼告訴她缺了多少珠子。為方便起見,我們用 0 9 a z a z 範圍內的字元來表示顏...