装睡

你永远叫不醒一个装睡的人 —— 但是通过分析一个人的呼吸频率和脉搏,你可以发现谁在装睡!医生告诉我们,正常人睡眠时的呼吸频率是每分钟15-20次,脉搏是每分钟50-70次。下面给定一系列人的呼吸频率与脉搏,请你找出他们中间有可能在装睡的人,即至少一项指标不在正常范围内的人。

输入格式:

输入在第一行给出一个正整数N(≤10)。随后N行,每行给出一个人的名字(仅由英文字母组成的、长度不超过3个字符的串)、其呼吸频率和脉搏(均为不超过100的正整数)。

输出格式:

按照输入顺序检查每个人,如果其至少一项指标不在正常范围内,则输出其名字,每个名字占一行。

输入样例:

4
Amy 15 70
Tom 14 60
Joe 18 50
Zoe 21 71

输出样例:

Tom
Zoe

解题思路:大整数除法+dfs,整数除法模板和思路来源于yxc;

#include<iostream>
#include<vector>

using namespace std;

vector<int>v,s;
int y;

void process(int x)
{
	v.push_back(1);
	for(auto ves: v)
	{
		y=y*10+ves;
		s.push_back(y/x);
		y=y%x;	
	}
	if(y==0)
	{
		bool flag=false;
		for(int i=0; i<s.size(); i++)
		{
			if(s[i]!=0)
			{
				flag=true;
				cout<<s[i];
				continue; 
			}
			if(flag)
			{
				cout<<s[i];
			}
			
		}
		cout<<" "<<s.size();
		return;
	}

	s.clear();
	y=0;
	process(x);
	

	
}

int main()
{
	int x;
	cin>>x;
	//v.push_back(1);
	process(x);
}

 

展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 技术黑板 设计师: CSDN官方博客
应支付0元
点击重新获取
扫码支付

支付成功即可阅读