首页 > 其他分享 >AT278 题解

AT278 题解

时间:2022-08-25 00:13:30浏览次数:87  
标签:lenG int 题解 字母 AT278 ++ include

题目传送门

小学生又双叒叕来写题解啦!

我的思路是,先统计招牌与材料包中不同字母的数量。

然后,枚举二十六个字母。

对于每个字母,用招牌字母数除以材料包字母数,再向上取整

这样可以得到单个字母所需的材料包数量。

取这些数中最大值即可。

还有两个问题。

一是如何判断无解

只需在枚举过程中检查,若招牌里需要某字母,但材料包里没有,显然无法制作。

但第二个问题很容易忽略。

如果在招牌字母数除以材料包字母数的时候,材料包字母数恰为零,这可怎么办?

因此,为了提防除以零的尴尬情况,我们需要特判。

送上满分代码:

#include <iostream>
#include <cstdio>
#include <cmath>
using namespace std;
int cntS[35], cntG[35];
int main()
{
	//以下为输入,并且存储字母个数。 
	int lenS, lenG;
	scanf("%d%d", &lenS, &lenG);
	string s, g;
	cin >> s >> g;
	for (int i = 0; i < lenS; i++) cntS[s[i] - 'A' + 1]++;
	for (int i = 0; i < lenG; i++) cntG[g[i] - 'A' + 1]++;
	
	int maxn = -1;
	for (int i = 1; i <= 26; i++)
	{
		if (cntS[i] != 0 && cntG[i] == 0)  //招牌需要,但材料包里没有。 
		{
			printf("-1\n");
			return 0;
		}
		if (cntS[i] == 0 && cntG[i] == 0) continue;  //防止除零事件发生。 
		int t = ceil(1.0 * cntS[i] / cntG[i]);
		maxn = max(maxn, t);
	}
	printf("%d\n", maxn);  //题目要求要换行。 
	return 0;
}

首发:2022-01-31 21:12:24

标签:lenG,int,题解,字母,AT278,++,include
From: https://www.cnblogs.com/liangbowen/p/16622762.html

相关文章

  • AT212 题解
    题目传送门小学生又双叒叕来写题解啦!翻了一下大家的代码,都好长好复杂,其实直接模拟就好了。先说一个巨坑:发现坐标与我们平时不同,所以进行修改。写一个函数,函数作用为找......
  • AT1578 题解
    题目传送门小学生又双叒叕来写题解啦!个人认为这题就考你的理解能力,因此,得先把题读懂。寿司就是01或10字符的组合,减少拆开寿司的次数,本质上就是保留完整的寿司。因......
  • AT4864 题解
    题目传送门显然是贪心题。对于每张优惠券,我们应该给当前最大的物品使用。如果使用普通的数组,每次都找最大值太慢了。因此,我们使用传说神器:优先队列。其他题解都没有说......
  • AT2286 题解
    题目传送门小学生又双叒叕来写题解啦!这题要用到因数个数定理,没学过的童鞋自己了解一下。由于和质数有关,我使用质数筛法。我使用较快的欧拉筛法算质数(想学就做这题)。事......
  • [HNOI2004] L 语言 题解(AC 自动机上 dp)
    前言:原版数据超弱,爆搜就能过(即洛谷里面80分的数据),在此不多说,这里讲的是正解。(如果不是正解我还敢写题解吗)唔······话说洛谷里的题解用的都有状压,蒟蒻表示这题不......
  • 【TPC附加赛YSTG】星坠比赛题解
    零、写在前面比赛地址本人比较菜,在这场接近提高组的模拟赛中获得了\(30+100+30+50=210\)的烂分事实上只要把暴力打足成绩一般就不会差但后来本人在Z......
  • LeetCode 重排链表算法题解 All In One
    LeetCode重排链表算法题解AllInOnejs/ts实现重排链表重排链表原理图解//快慢指针重排链表https://leetcode.com/problems/reorder-list/https://le......
  • ARC103E题解
    思路很奇怪(?)考虑是否合法的条件。注意到这个显然要求对称(即存在\(i\)必须存在\(n-i\)),如果不满足一定无解。然后比较显然的是\(1\)不存在和存在\(n\)都无解。然后......
  • 「AGC036F」Square Constraints 题解
    「AGC036F」SquareConstraints题解题目大意给定一个整数$n$,求有多少种$0\-\2n!-!1$的排列$P$,使得对于每个$i$,都有$n^2\lei^2+P_i^2\le4n^2$。......
  • 「POJ1475」Pushing Boxes 题解
    「POJ1475」PushingBoxes题解题目大意一张N行M列的地图,字符“.”表示空地,字符“#”表示墙,字符“S”表示人的起始位置,字符“B”表示箱子的起始位置,字符“T”表示箱子的......