解答 - ZeroJudge - d066
解法一 - 列出每種狀況
#include<iostream>
using namespace std;
int main()
{
int h, m;
while( cin >> h >> m )
{
if( h<7 )
{
cout << "Off School" << endl;
}
if( h==7 and m<30 )
{
cout << "Off School" << endl;
}
if( h==7 and m>=30 )
{
cout << "At School" << endl;
}
if( h>7 and h<17 )
{
cout << "At School" << endl;
}
if( h>=17 )
{
cout << "Off School" << endl;
}
}
return 0;
}
解法二 - 只列出上學時間當條件,其他情形就是放學時間
#include<iostream>
using namespace std;
int main()
{
int h, m;
while( cin >> h >> m )
{
if( (h==7 and m>=30) or (h>=8 and h<=16) )
{
cout << "At School" << endl;
}
else
{
cout << "Off School" << endl;
}
}
return 0;
}
解法三 - 先換算好時間再判斷
#include<iostream>
using namespace std;
int main()
{
int h, m, tmp;
while( cin >> h >> m )
{
tmp = h*60+m;
if( tmp<450 or tmp>=1020 )
{
cout << "Off School" << endl;
}
else
{
cout << "At School" << endl;
}
}
return 0;
}