计蒜客练题 普及T1 第一天

正式开始练题的第一天
在计蒜客练题;
第一题 “T1079 开关灯”居然就让卡住了;
ceil()函数向上取整居然从来没用过,【math.h】 double ceil( double num );
结果把abs当成向下会取整,好尴尬;
floor()才是向下取整,【math.h】 double floor( double arg );
这要是蓝桥杯的题,恐怕我会在5分的题直接挂掉。

#include 
#include
using namespace std;
int main(int argc, char** argv) {
	double roof,x,y,people,time=0;
	cin>>roof;
	for(int i=0;i>x>>y>>people;
		time+=(sqrt(x*x+y*y)/50*2+people*1.5);
	}
	 cout<

第二题“T1079 开关灯”
没什么难度,但由于思维不够严谨,不该用else时却使用了else,导致关键语句被跳过了,大大的浪费时间;还有就是习惯了复制粘贴,每回都是复制过来就完事,完全不管复制以后还是不是适用。

#include 
#include 
#include 
using namespace std;
int main(int argc, char** argv) {
	int n,m,p=0,flag[5000]={1},flag2[5000]={0};
	cin>>n>>m;
	if(m>=1)
	{
		memset(flag,0,sizeof(flag));
	}
	if(m>=2)
	{
		for(int i=1;i2)
	{
		for(int i=3;i<=m;i++)
		{
			for(int j=i-1;j

第三题“T1084 雇佣兵”
居然看不懂题意,看了好几次,每一次都是根据输入输出推理题意,才搞懂题目意思;
开始一直以为是战斗力为2,那么第二天以后,每连续战斗一天,都会让战斗力加1,但发现和测试貌似对不上;题意直接扑街。。。。。

#include 
#include 
#include 
using namespace std; 
int main(int argc, char** argv) {
	double m,n,x;
	cin>>m>>n>>x;
	while(1)
	{
		x-=ceil(m/n);//恢复体力
		if(x<0)
		break;
		n+=floor(m/n);	//消耗体力提升战力
	}
	cout<

第四题“T1096 石头剪刀布”
完美一次通过

#include 

using namespace std;

int main(int argc, char** argv) {
	int n,na,nb,p=0,q=0,sum=0,nas[100],nbs[100],num[100],nas2[100],nbs2[100];
	/*n,na,nb,nas[100],nbs[100]为输入,p=0,q=0相当于是临时变量,用sum的正负判断A赢还是B赢,nas2[100],nbs2[100]用来保存A、B在n轮内所出的手势*/
	cin>>n>>na>>nb;
	for(int i=0;i>nas[i];
	for(int i=0;i>nbs[i];
	for(int i=0;i0)
	cout<<"A";
	if(sum<0)
	cout<<"B";
	if(sum==0)
	cout<<"draw";
	return 0;
}

你可能感兴趣的:(计蒜客)