poj 1013(uva 608) Counterfeit Dollar
2024-08-25 22:02:00
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <cmath>
#include <iostream>
#include <string>
#include <algorithm>
using namespace std; #define FOR(i,s,t) for (int i = s; i < t; ++i)
#define MEM(s,v) memset(s, v, sizeof(s)) #define EPS 1e-8
#define _N 15
#define _M 105
#define PI acos(-1.0) int even[], light[], heavy[];
char l[_N], r[_N], b[_N]; void set_union(int *a, char *b)
{
FOR (i, , strlen(b)) { a[b[i] - 'A'] += ; }
} int main()
{
int n; scanf("%d", &n); while (n--) {
MEM (even, ); MEM (light, ); MEM (heavy, );
FOR (i, , ) {
scanf("%s%s%s", l, r, b);
if (b[] == 'e') {
set_union(even, l);
set_union(even, r);
} else if (b[] == 'u') {
set_union(heavy, l);
set_union(light, r);
} else {
set_union(light, l);
set_union(heavy, r);
}
}
int _l[], _h[];
FOR (i, , ) {
_l[i] = light[i] * (!even[i] && light[i]);
_h[i] = heavy[i] * (!even[i] && heavy[i]);
}
int max_c = , max_n = , _t = ;
FOR (i, , ) if (_l[i] > max_n) {
max_c = i; max_n = _l[i]; _t = -;
}
FOR (i, , ) if (_h[i] > max_n) {
max_c = i; max_n = _h[i]; _t = ;
}
printf("%c is the counterfeit coin and it is %s.\n", max_c + 'A', _t == - ? "light" : "heavy");
}
return ;
}
最新文章
- Python检测服务端口存活状态并报警
- css名词解释
- 路线更改事件 $routeChangeStart 与 $locationChangeStart
- 移动web开发实践-css3(1)盒模型display:-webkit-box;的使用
- dynamic 的使用 待续
- 服务器端接受Json数据的绑定实现
- 程序员遇到BUG的解释
- 自动化测试管理平台ATMS(V2.0.3_8.28)下载
- 详解下一代开源混合应用框架Reapp(转)
- [转]编译错误: /bin/sh: 1: pushd: not found的问题
- VS2012 直接浏览网页时报错
- apache的ab进行页面的压力测试
- MYSQL 数据类型的 3 个注意
- 标题:a++和++a的区别
- Session 的原理及最佳实践
- Scale
- maven:打包时报错,报&rsquo;找不到符号&rsquo;
- GanttProject 项目管理软件的优点
- js 布局转换问题
- 关于Dubbo面试问题