1. 程式人生 > >pat1039:到底買不買

pat1039:到底買不買

#include "stdio.h"
#include "string.h"

int main()
{
	int i, ky = 0, kn = 0, flag = 0;
	int numz[62] = {0},numm[62] = {0};
	char z[1000], m[1000];
	scanf("%s%s", z, m);
	for(i = 0; i < strlen(m); ++i)
	{
		if((m[i] >= '0') && (m[i] <= '9'))
			++numm[m[i] - '0'];
		else if((m[i] >= 'a') && (m[i] <= 'z'))
			++numm[m[i] - 'a' + 36];
		else if((m[i] >= 'A') && (m[i] <= 'Z'))
			++numm[m[i] - 'A' + 10];
	}
	for(i = 0; i < strlen(z); ++i)
	{
		if((z[i] >= '0') && (z[i] <= '9'))
			++numz[z[i] - '0'];
		else if((z[i] >= 'a') && (z[i] <= 'z'))
			++numz[z[i] - 'a' + 36];
		else if((z[i] >= 'A') && (z[i] <= 'Z'))
			++numz[z[i] - 'A' + 10];
	}
	for(i = 0; i < 62; ++i)
	{
		if((numm[i]) && (numm [i] - numz[i] > 0))
			flag = 1;
		if(flag && numm[i] && (numm[i] > numz[i]))
			kn += numm[i] - numz[i];
		else
			ky += numz[i] - numm[i];
	}
	if(flag)
		printf("No %d\n", kn);
	else
		printf("Yes %d\n", ky);

	return 0;
}