九度[1150]Counterfeit Dollar

# include<iostream>
# include<string>
# include<cstdio>
using namespace std;
struct node{
	string a;
	string b;
}s[3];
int main()
{
	string a[3];
	int n=0;
	bool heavy;
	char c;
	//freopen("in.txt","r",stdin);
	cin>>n;
	while(n--)
	{
		for(int i=0;i<3;i++)
		{
			cin>>s[i].a>>s[i].b>>a[i];
		}
		bool isFind=false;
		for(int i=0;i<12;i++)
		{
			c=‘A‘+i;
			heavy=true;
			for(int j=0;j<3;j++)
			{
				if((s[j].a.find(c)!=-1) || s[j].b.find(c)!=-1) //在里面
				{
					if(a[j]=="even")
					{
						isFind=false;
						break;
					}
					if(a[j]=="up")
					{
						if(s[j].a.find(c)>=0)
						{
							isFind=true;
							heavy=true;
							continue;
						}
						else
						{
							isFind=true;
							heavy=false;
							continue;
						}
					}
					else
					{
						if(s[j].a.find(c)>=0)
						{
							isFind=true;
							heavy=false;
							continue;
						}
						else
						{
							isFind=true;
							heavy=true;
							continue;
						}
					}
				}
				else if((s[j].a.find(c)==-1) || s[j].b.find(c)==-1) //不在里面
				{
					if(a[j]!="even")
					{
						isFind=false;
						break;
					}
				}
			}
			if(isFind ) break;
		}
		cout<<c<<" is the counterfeit coin and it is ";
		if(heavy)
			cout<<"heavy."<<endl;
		else
			cout<<"light."<<endl;
	}
	//system("pause");
	return 0;
}

  要注意的地方就是s[i].a.find(c)>=0  是不对的 可以先赋值再比较 也可以改成!=-1  切记切记 或者用string::npos

时间: 2024-10-14 19:55:43

九度[1150]Counterfeit Dollar的相关文章

剑指OFFER之从上往下打印二叉树(九度OJ1523)

题目描述: 从上往下打印出二叉树的每个节点,同层节点从左至右打印. 输入: 输入可能包含多个测试样例,输入以EOF结束.对于每个测试案例,输入的第一行一个整数n(1<=n<=1000, :n代表将要输入的二叉树元素的个数(节点从1开始编号).接下来一行有n个数字,代表第i个二叉树节点的元素的值.接下来有n行,每行有一个字母Ci.Ci='d'表示第i个节点有两子孩子,紧接着是左孩子编号和右孩子编号.Ci='l'表示第i个节点有一个左孩子,紧接着是左孩子的编号.Ci='r'表示第i个节点有一个右孩

剑指OFFER之调整数组顺序使奇数位于偶数前面找(九度OJ1516)

题目描述: 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变. 输入: 每个输入文件包含一组测试案例.对于每个测试案例,第一行输入一个n,代表该数组中数字的个数.接下来的一行输入n个整数.代表数组中的n个数. 输出: 对应每个测试案例,输入一行n个数字,代表调整后的数组.注意,数字和数字之间用一个空格隔开,最后一个数字后面没有空格. 样例输入: 5 1 2 3 4 5 样例输

九度 1203

#include <cstdio> #include <iostream> using namespace std; #ifdef ONLINE_JUDGE #define FINPUT(file) 0 #define FOUTPUT(file) 0 #else #define FINPUT(file) freopen(file,"r",stdin) #define FOUTPUT(file) freopen(file,"w",stdout)

九度 1205

#include <cstdio> #include <iostream> using namespace std; #ifdef ONLINE_JUDGE #define FINPUT(file) 0 #define FOUTPUT(file) 0 #else #define FINPUT(file) freopen(file,"r",stdin) #define FOUTPUT(file) freopen(file,"w",stdout)

九度 1351 只出现一次的数

#include <cstdio> #include <iostream> using namespace std; #ifdef ONLINE_JUDGE #define FINPUT(file) 0 #define FOUTPUT(file) 0 #else #define FINPUT(file) freopen(file,"r",stdin) #define FOUTPUT(file) freopen(file,"w",stdout)

九度机试 题目1165:字符串匹配 2008年北京航空航天大学计算机研究生机试真题

题目1165:字符串匹配 时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:2497 解决:858 题目描述: 读入数据string[ ],然后读入一个短字符串.要求查找string[ ]中和短字符串的所有匹配,输出行号.匹配字符串.匹配时不区分大小写,并且可以有一个用中括号表示的模式匹配.如"aa[123]bb",就是说aa1bb.aa2bb.aa3bb都算匹配. 输入: 输入有多组数据. 每组数据第一行输入n(1<=n<=1000),从第二行开始输入n个字符串(

【剑指Offer面试题】九度OJ1384:二维数组中的查找

下决心AC全部剑指offer面试题. 九度OJ面试题地址:http://ac.jobdu.com/hhtproblems.php 书籍:何海涛--<剑指Offer:名企面试官精讲典型编程题> 对于面试题,面试官往往更希望我们能提出优化方法,这样更能体现我们的思维能力以及传说中的"内功".所以做剑指offer要着重训练这方面,多总结多细究,总是有优点的.加油~ 题目链接地址: http://ac.jobdu.com/problem.php?pid=1384 二维数组中的查找

九度oj 题目1007:奥运排序问题

九度oj 题目1007:奥运排序问题   恢复 题目描述: 按要求,给国家进行排名. 输入:                        有多组数据. 第一行给出国家数N,要求排名的国家数M,国家号从0到N-1. 第二行开始的N行给定国家或地区的奥运金牌数,奖牌数,人口数(百万). 接下来一行给出M个国家号. 输出:                        排序有4种方式: 金牌总数 奖牌总数 金牌人口比例 奖牌人口比例 对每个国家给出最佳排名排名方式 和 最终排名 格式为: 排名:排名

区间和问题——九度 1554

对应 九度 题目:点击打开链接 题目描述: 给定一个数组,判断数组内是否存在一个连续区间,使其和恰好等于给定整数k. 输入: 输入包含多组测试用例,每组测试用例由一个整数n(1<=n<=10000)开头,代表数组的大小. 接下去一行为n个整数,描述这个数组,整数绝对值不大于100. 最后一行为一个整数k(大小在int范围内). 输出: 对于每组测试用例,若存在这个连续区间,输出其开始和结束的位置,s,e(s <= e). 若存在多个符合条件的输出,则输出s较小的那个,若仍然存在多个,输出