PAT 1062

题目 : To Buy or not to buy

分值 : 20 
难度 : 送分题
思路 : 有点BitMap的意思,把字符映射成数,搞个数组存起来就完事了.

具体代码如下

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#include "stdio.h"
#include "string.h"

int main() {
char S[1000] ,S2[1000] ;
scanf("%s" , S) ;
scanf("%s" , S2);
int l1 = strlen(S) ;
int l2 = strlen(S2) ;
int data[125] ;
for(int i = 0 ; i<125 ;i++)
data[i] = 0 ;
for(int i = 0 ; i< l2 ; i++)
data[ (int)S2[i] ]++ ;
int count =l2 ;
for(int i = 0 ; i< l1 ; i++)
{
if(data[ (int)S[i] ] > 0 )
{
data[ (int)S[i] ] -- ;
count -- ;
}
}
if(count == 0 )
printf("Yes %d" ,l1-l2) ;
else
printf("No %d", count );

}