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 描述 在基本的网络搭建完成后,学校为了方便管理还需要对所有的服务器进行编组,网络所的老 ...
随机推荐
- saiku之固定维度(必选维度)
工作中遇到的问题,记录下来方便以后查找. 在saiku中如何设定固定维度? 找到WorkspaceDropZone.js文件,在synchronize_query: function(){}方法中的“ ...
- Effective C++ 条款11
在operator=中处理"自我赋值" 什么是自我赋值,非常明显. 就是自己的值赋值给了自己.以下的代码就是自我赋值: class Widget { public: Widget& ...
- Java面试题之五
二十一.super()与this()的区别? (1)用this的情况: 1.在构造方法中,通过this调用另一个构造方法,用法:this(参数列表). 2.在函数参数或函数的局部变量与成员变量同名,即 ...
- 多个Activity之间的切换与数据交互
总结 两个activity之间切换我概括的分为两步: 1. 代码实现切换操作.2.配置中声明另外一个acitivity! 1. 代码实现切换操作 显示定义一个intent 对象,Intent 这个类的 ...
- iframe使用location跳转页面的问题
iframe页面调用父级页面中的函数 parent.dofunction(); contentWindow 实例 iframe = document.getElementById("fram ...
- 如何学习.Net的步骤
如果你已经有较多的面向对象开发经验,跳过以下这两步: 第一步 掌握一门.NET面向对象语言,C#或VB.NET 我强烈反对在没系统学过一门面向对象(OO)语言的前提下去学ASP.NET. ASP. ...
- vs2013 中HTML页 无法在设计窗口中查看的解决
VS2013不支持HTML文件的解决办法: 1.将html文件重命名为aspx即可.不需要创建项目,直接拖进vs即可. 2.打开VS菜单->工具->选项->文本编辑器->文件扩 ...
- [Swust OJ 1139]--Coin-row problem
题目链接: http://acm.swust.edu.cn/contest/0226/problem/1139/ There is a row of n coins whose values are ...
- hdu3033I love sneakers! (分组背包,错了很多次)
Problem Description After months of hard working, Iserlohn finally wins awesome amount of scholarshi ...
- 中国 省会 地级市 经纬度 city array
<?php $city_arr = array ( '北京' => array ( 'gis_lng' => '116.405285', 'gis_lat' => '39.90 ...