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 描述 在基本的网络搭建完成后,学校为了方便管理还需要对所有的服务器进行编组,网络所的老 ...
随机推荐
- 关于 实时推送技术--WebSocket的 知识分享
今天学习了关于WebSocket的知识,觉得挺有用的,在这记录一下,也和大家分享一下!!有兴趣的可以看看哦 WebSocket简介 Web领域的实时推送技术,也被称作Realtime技术.这种技术要达 ...
- SQL Server MySQL 中的 in 与 null
例子: create table t(x int,y int); insert into t(x,y) values(1,1),(2,2),(null,null); 查询一: select x,y f ...
- Allegro的优点与缺点
记得刚毕业出来时就在某台商工作,用的就是allegro,从此上了贼船就下不来了--.其实还用过pcad,protel,powerpcb(以下简称3p,加上pads就4p了,呵呵--).至于mentor ...
- FineUI_动态绑定Grid
private void InitGrid() { string _sql = GetSql().ToLower().Replace("select", "") ...
- shell脚本中常见的一些特殊符号和作用详解
这篇文章主要介绍了shell脚本中常见的一些特殊符号和它的作用详解,总结的很简洁,容易看懂,需要的朋友可以参考下 在编写Shell脚本时,我们需要会用到各种各样的特殊符号,通过这些特殊符号可以使我 ...
- nodejs中使用递归案例
var http = require('http'); //1.正常逻辑第一步正常请求,动作进行一次的方法: function seqRequest(i,limit){ var req = http. ...
- Android采用HttpClient下载图片
在上一章中谈到Android采用HttpURLConnection下载图片,本章使用HttpClient下载图片 HttpURLConnection与HttpClient的差别: HttpClient ...
- SQlSERVER生成唯一编号
基数表-用来存储编号前缀和类型 建表如下 CREATE TABLE [dbo].[SerialNo]( [sCode] [varchar](50) NOT NULL, [sName] [varchar ...
- PL/SQL编程要点和注意点
http://www.itpub.net/thread-1560427-3-1.html 1. 非关键字小写,关键字大写,用下划线分隔,用前缀区分变量与表列名.不强求变量初始值.2. 永远只捕获可预测 ...
- html回车事件
<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <m ...