您的位置:首页 > 其它

【CodeForce #239 Div2】408B——Garland

2014-03-30 18:31 381 查看
来源:点击打开链接

字符串处理。模拟可过。将字符串转化成两个数组,一个存放准备的纸数,另一个存放需求的纸数,最后简单判断一下大小比较的关系即可。

#include <iostream>
#include <string>
#include <cstring>
#include <algorithm>
using namespace std;

int need[26];
int had[26];

int main()
{
	string have,wants;
	cin>>have;
	cin>>wants;
	memset(need,0,sizeof(need));
	memset(had,0,sizeof(had));
	for(int i=0;i<have.length();i++)
	{
		had[(int)(have[i]-'a')]++;
	}
	for(int i=0;i<wants.length();i++)
	{
		 need[(int)(wants[i]-'a')]++;
	}
	int totalneedpaper=0;
	
	for(int j=0;j<26;j++)
	{
		if(need[j]!=0)
		{
			if(had[j]==0)
			{
				totalneedpaper=-1;
				goto end;
			}
			else
			{
				if(need[j]<=had[j])
					totalneedpaper+=need[j];
				else
					totalneedpaper+=had[j];
			}
		}
	}
end:
	cout<<totalneedpaper<<endl;
	
	
	
	
	
	
	
	
	
	
	return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: