zoj 1184
硬币称重,经典,1.若被判平,左右所有硬币必正常;2.若判轻或判重,对应硬币被判轻-1、重记数+1;3.只有球只被判轻或判重,且次数跟天平不平衡次数相等,该球才能是坏的,否则必然是好的。且>0的是偏重,<0是偏轻.
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
int main(void)
{
int s[];
int i,j,t,len1,len2,count=;
char str[][][];
scanf("%d",&t);
while(t--)
{
count=;/*不平衡的次数*/
for(i=;i< ;i++ )
scanf("%s%s%s",str[i][],str[i][],str[i][]);
memset(s,,sizeof(s));
for(i=;i<;i++)/*找到所有相等的 */
{
if(strcmp(str[i][],"even")==)
{
len1=strlen(str[i][]);
for(j=;j<len1;j++)
s[(str[i][][j]-'A')]=;/*赋值1000表示正常*/
len2=strlen(str[i][]);
for(j=;j<len2;j++)
s[(str[i][][j]-'A')]=;
}
}
for(i=;i<;i++)
{
if(strcmp(str[i][],"up")==)
{
count++; len1=strlen(str[i][]);/*up说明左边重 */
for(j=;j<len1;j++)
{
if(s[(str[i][][j]-'A')]!=)
s[(str[i][][j]-'A')]++;
}
len2=strlen(str[i][]);/*右边比较小 */
for(j=;j<len2;j++)
{
if(s[(str[i][][j]-'A')]!=)
{
s[(str[i][][j]-'A')]--;
} }
}
}
for(i=;i<;i++)
{
if(strcmp(str[i][],"down")==)
{
count++; len1=strlen(str[i][]);/*down说明左边小 */
for(j=;j<len1;j++)
{
if(s[(str[i][][j]-'A')]!=)
{
s[(str[i][][j]-'A')]--;
} }
len2=strlen(str[i][]);/*右边左边都正常 */
for(j=;j<len2;j++)
{
if(s[(str[i][][j]-'A')]!=)
{
s[(str[i][][j]-'A')]++;
}
} }
}
for(i=;i<;i++)
{
if(abs(s[i])==count)/*当不平衡的次数和硬币的问题次数相等时,那么该硬币就是问题硬币*/
{
printf("%c is the counterfeit coin and ",i+'A');
printf( s[i]<? "it is light.\n":"it is heavy.\n");
break;
}
}
} return ;
}
/*
自己例举的测试实例
2
ABCD EFGH down
CDEF GHLK even
AEFD JKCD down
B A down
B C even
D F even
*/
zoj 1184的更多相关文章
- ZOJ题目分类
ZOJ题目分类初学者题: 1001 1037 1048 1049 1051 1067 1115 1151 1201 1205 1216 1240 1241 1242 1251 1292 1331 13 ...
- ZOJ People Counting
第十三届浙江省大学生程序设计竞赛 I 题, 一道模拟题. ZOJ 3944http://www.icpc.moe/onlinejudge/showProblem.do?problemCode=394 ...
- ZOJ 3686 A Simple Tree Problem
A Simple Tree Problem Time Limit: 3 Seconds Memory Limit: 65536 KB Given a rooted tree, each no ...
- ZOJ Problem Set - 1394 Polar Explorer
这道题目还是简单的,但是自己WA了好几次,总结下: 1.对输入的总结,加上上次ZOJ Problem Set - 1334 Basically Speaking ac代码及总结这道题目的总结 题目要求 ...
- ZOJ Problem Set - 1392 The Hardest Problem Ever
放了一个长长的暑假,可能是这辈子最后一个这么长的暑假了吧,呵呵...今天来实验室了,先找了zoj上面简单的题目练练手直接贴代码了,不解释,就是一道简单的密文转换问题: #include <std ...
- ZOJ Problem Set - 1049 I Think I Need a Houseboat
这道题目说白了是一道平面几何的数学问题,重在理解题目的意思: 题目说,弗雷德想买地盖房养老,但是土地每年会被密西西比河淹掉一部分,而且经调查是以半圆形的方式淹没的,每年淹没50平方英里,以初始水岸线为 ...
- ZOJ Problem Set - 1006 Do the Untwist
今天在ZOJ上做了道很简单的题目是关于加密解密问题的,此题的关键点就在于求余的逆运算: 比如假设都是正整数 A=(B-C)%D 则 B - C = D*n + A 其中 A < D 移项 B = ...
- ZOJ Problem Set - 1001 A + B Problem
ZOJ ACM题集,编译环境VC6.0 #include <stdio.h> int main() { int a,b; while(scanf("%d%d",& ...
- hihoCoder 1184 连通性二·边的双连通分量
#1184 : 连通性二·边的双连通分量 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 在基本的网络搭建完成后,学校为了方便管理还需要对所有的服务器进行编组,网络所的老 ...
随机推荐
- 限制ITEM读取其它物料的物料描述
应用 Oracle Purchasing 层 Level Function 函数名 Funcgtion Name CUXPOXPOEPO 表单名 Form Name POXPOEPO 说明 Des ...
- ubuntu rc.local 无效 解决方案(转)
为了让mysql开机启动,我将mysql命令添加到/etc/rc.local中,但怎么也运行不了.一开始认为只是/etc/rc.local的权限问题,但通过以下命令修改后,还是不起作用. sudo c ...
- asp.net数据库操作类(二)
第二版的数据库访问类出炉了: C# Code 123456789101112131415161718192021222324252627282930313233343536373839404142 ...
- Microsoft Office 2010 Pro VOL简体中文正式版
网友们期待的Microsoft Office Professional Plus 2010 VOL简体中文正式版.所谓的“VOL”,即是Volume Licensing for Organizatio ...
- c# 获取移动硬盘信息、监听移动设备的弹出与插入事件
原文 http://www.cnblogs.com/coolkiss/p/3328825.html 备忘一下改功能,主要通过WMI来实现,对于监听外接设备的弹出和插入事件一开始使用IntPtr Wnd ...
- c++多线程编程之互斥对象(锁)的使用之----死锁
一.死锁会在什么情况发生 1.假设有如下代码 mutex; //代表一个全局互斥对象 void A() { mutex.lock(); //这里操作共享数据 B(); //这里调用B方法 mu ...
- cocos2d-x获取系统时间
欢迎转载,本帖地址:http://blog.csdn.net/jinjian2009/article/details/9449585 之前使用过cocos2d-x获取系统时间,毫秒级的 long ge ...
- HDU 3468 Treasure Hunting(BFS+网络流之最大流)
题目地址:HDU 3468 这道题的关键在于能想到用网络流.然后还要想到用bfs来标记最短路中的点. 首先标记方法是,对每个集合点跑一次bfs,记录全部点到该点的最短距离.然后对于随意一对起始点来说, ...
- Extjs4 操作TreeStore 处理proxyAjax 获取的数据
近期在搞extjs4 TreeStore时有一个需求 就是要处理一下后台传过来的json数据然后再显示,看api也没有找到解决的方法 ,最后看源代码在Ext.data.proxy.Server 看到这 ...
- C++ Primer 读书笔记 第1章
1.1 编写简单的C++程序 每个C++程序都必须包含一个main函数,因为main函数是系统执行入口,且main函数是唯一被系统显示调用的函数. 定义函数必须指定4个元素:返回类型.函数名.形参表. ...