UVa 12626 - I ? Pizza

题目:给你一些字符,问能组成几个MARGARITA。

分析:简单题。直接统计计算就可以。

说明:近期状态有点不稳定╮(╯▽╰)╭。

#include <algorithm>
#include <iostream>
#include <cstdlib>
#include <cstring>
#include <cstdio>
#include <cmath>

using namespace std;

int main()
{
	int  n,count[6];
	char buf[606];
	while (~scanf("%d",&n)) {
		for (int i = 0; i < n; ++ i) {
			scanf("%s",buf);
			for (int j = 0; j < 6; ++ j)
				count[j] = 0;
			for (int j = 0; buf[j]; ++ j) {
				if (buf[j] == 'M') ++ count[0];
				if (buf[j] == 'A') ++ count[1];
				if (buf[j] == 'R') ++ count[2];
				if (buf[j] == 'G') ++ count[3];
				if (buf[j] == 'I') ++ count[4];
				if (buf[j] == 'T') ++ count[5];
			}
			count[1] /= 3; count[2] /= 2;
			int min = 606;
			for (int j = 0; j < 6; ++ j)
				if (min > count[j])
					min = count[j];
			printf("%d\n",min);
		}
	}
    return 0;
}
时间: 2024-10-05 05:41:33

UVa 12626 - I ? Pizza的相关文章

计算几何题目分类

转载 一.基础题目 1.1 有固定算法的题目 A, 最近点对问题最近点对问题的算法基于扫描线算法.ZOJ 2107    Quoit Design    典型最近点对问题POJ    3714    Raid    变种最近点对问题 B,最小包围圆最小包围圆的算法是一种增量算法,期望是O(n).ZOJ    1450    Minimal Circle  HDU    3007    Buried memory C,旋转卡壳POJ 3608    Bridge Across Islands   

【暑假】[深入动态规划]UVa 1628 Pizza Delivery

UVa 1628 Pizza Delivery 题目: http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=51189 思路:   本体与修缮长城一题有所相似.所以解法有相似之处. 不同之处就是本体可能会产生负情况,即送餐时间晚了客户会反过来找你要钱所以需要放弃,但修缮长城只有费用,顺手修了肯定是一个不错的选择. 依旧将区间两端与位置作为状态不过要添加一维cnt表示还需要送餐的人数.类似地定义:d[i][j][cnt][p]表示

uva 565 - Pizza Anyone?(暴力枚举 + 二进制)

题目:uva 565 - Pizza Anyone?(暴力枚举 + 二进制) 题目大意:题目是说有一个人要帮他的朋友们定批萨,然后每个朋友都有自己的口味要求,问能不能定一个批萨然后满足每个朋友的至少一个要求. 能就输出所定批萨里面加的东西,,输出要求按字典序: 不能就输出:No pizza can satisfy these requests. 解题思路:这题里面有16种材料,每种材料只有取与不取的可能,这样就有 2^16 种( 0 - 2^16 - 1),枚举出每种情况然后在分别看是否能满足每

uva 12326 &amp; hdu 4092 - Yummy Triangular Pizza(哈希+打表)

题目链接:uva 12326 &hdu 4092 Yummy Triangular Pizza 题目大意:给出n,表示用n个正三角形去组成图形,问可以组成多少种不同的三角形,旋转,镜像,都算同一种. 解题思路:参考别人的思路,很巧妙,主要就是建立三维坐标轴. 正立三角形x+y+z = 0 倒立三角形x+y+z ≠ 0 这样从初始装态为0 0 0的三角形开始逐个添加,每次进行旋转镜像,判断是否有没有重复. 每次判断重复的时候,枚举图形中的一个三角做为原点处理,生成hash值,以为n为多位16,所以

UVA, 10079 Pizza Cutting

简单的一道数学题 题意:N刀能将平面分成多少块 思路:递推 0刀:1块 1刀:1+1块 2刀:1+1+2块 3刀:1+1+2+3块 …… N刀:1+1+2+3+……N块 即(1+N)*N/2 +1块 代码: #include <iostream>#include <cstdio>using namespace std; long long s; bool datecin(){ if(scanf("%lld",&s)!=EOF) { if(s>=0)

487--3279 UVA 755 其实有三种解法

说说:这道题初看挺简单的,题意无非就是将一串字符转化成一个用'-'隔开的电话号码,然后把出现超过一次的号码按照字典升序输出即可.但是这样样做是会超时的....其实把电话号码中间的'-'去掉,电话号码其实就是一个整数,有了这个想法那就简单啦.只要设立一个超大的数组包含所有可能的电话号码,然后数组的值是该号码出现的次数,统计完后遍历一遍输出即可.但是第三种相当于把前两种方法法结合起来了.把号码当成一个整数,但是号码存储在一个数组中,号码出现的次数存储在另一个数组中.这样在插入新号码的时候就排序,然后

uva 755

题目 Businesses like to have memorable telephone numbers. One way to make a telephone number memorable is to have it spell a memorable word or phrase. For example, you can call the University of Waterloo by dialing the memorable TUT-GLOP. Sometimes onl

UVA 562 Dividing coins --01背包的变形

01背包的变形. 先算出硬币面值的总和,然后此题变成求背包容量为V=sum/2时,能装的最多的硬币,然后将剩余的面值和它相减取一个绝对值就是最小的差值. 代码: #include <iostream> #include <cstdio> #include <cstring> #include <cmath> #include <algorithm> using namespace std; #define N 50007 int c[102],d

UVA 10341 Solve It

Problem F Solve It Input: standard input Output: standard output Time Limit: 1 second Memory Limit: 32 MB Solve the equation: p*e-x + q*sin(x) + r*cos(x) + s*tan(x) + t*x2 + u = 0 where 0 <= x <= 1. Input Input consists of multiple test cases and te