A1011
题目大意:
给出三场比赛以及每场比赛的W、T、L的赔率,选取每一场比赛中赔率最大的三个数a b c,先输出三行各自选择的是W、T、L中的哪一个,然后根据计算公式 (a * b * c * 0.65 - 1) * 2 得出最大收益
#include<cstdio>
using namespace std;
int main()
{
char c[4]={"WTL"};
double ans=1.0;
for(int i=0;i<3;i++)
{
double temp,maxtemp=0.0;
int maxchar=0;
for(int j=0;j<3;j++)
{
scanf("%lf",&temp);
if(temp>=maxtemp)
{
maxtemp=temp;
maxchar=j;
}
}
printf("%c ",c[maxchar]);
ans*=maxtemp;
}
printf("%.2f",(ans*0.65-1)*2);
return 0;
}
遇到的困难:
1.char c[4]={“WTL”};关于字符串这样写的话代表c[0]=‘W’,c[1]=‘T’,C[2]=‘L’
2.因为我的输入输出流是scanf,printf,所以要用c++的话头文件是
#include,还要加上using namespace std;
3.一开始我没有尝试两个for循环,写的很不对,看了柳神的代码才模仿着写,不得不说,柳神太强了
4.double temp,maxtemp=0.0;
int maxchar=0;
这里一开始写在循环外面了,结果超时了,因为外面也没有提到这几个东西,所以定义在里面就好啦!
5.一个一个的输出就好,不用一下子全部输出
6.希望A1006能自己独立完成!
A1006
题目大意:
给出n个人的id、sign in时间、sign out时间,求最早进来的人和最早出去的人的ID
//pat A1006
#include<iostream>
using namespace std;
int main()
{
int m;
cin>>m;
string name,in,out,min="00:00:00",max="23:59:59",maxname,minname;
for(int i=0;i<m;i++)
{
cin>>name>>in>>out;
if(in<out&&in<max)
{
max=in;
maxname=name;
}
if(in<out&&out>min)
{
min=out;
minname=name;
}
}
cout<<maxname<<" "<<minname;
return 0;
}
感谢柳神和晴神!