A. Stair, Peak, or Neither?
题:
提示:
满足 b>a和b<c就是STAIR,满足b>a和b>c就是PEAK,其它情况及时NONE
AC代码:
#include <bits/stdc++.h>
using namespace std;
int main(){
int t;
cin >> t;
int a,b,c;
while(t--){
cin >> a>>b>>c;
if(b>a && b<c) cout<<"STAIR"<<endl;
else if(b>a && b>c) cout<<"PEAK"<<endl;
else cout<<"NONE"<<endl;
}
return 0;
}
B. Upscaling
题:
提示:
我采用一种字符串拼接的方法先拼接完第一行的所有情况
比如1就是##
2就是##..
然后开始循环判断输出
AC代码:
#include <bits/stdc++.h>
using namespace std;
int main(){
int t;
cin >> t;
int n;
while(t--){
cin>>n;
string a="##";
string d="..";
string b,c;
for(int i=0;i<n;i++){
if(i%2==0) b+=a;//拼接##开头的一行
else b+=d;
}
for(int i=0;i<n;i++){
if(i%2==0) c+=d;//拼接..开头的一行
else c+=a;
}
for(int i=0;i<n;i++){
for(int j=0;j<2;j++)//每一行都要输出两遍
{
if(i%2==0)//判断是##开头还是..开头
cout<<b<<endl;
else
cout<<c<<endl;
}
}
}
return 0;
}
C. Clock Conversion
题:
提示:
熟练运用substr截取字符串即可,把所有情况分清即可
AC代码:
#include <bits/stdc++.h>
using namespace std;
int main(){
int t;
cin >> t;
string s;
while(t--){
cin>>s;
int a=(s[0]-'0')*10+(s[1]-'0');
if(a==0) cout<<"12:"<<s.substr(3,2)<<" AM"<<endl;
else if(a!=0 && a<10) cout<<"0"<<a<<":"<<s.substr(3,2)<<" AM"<<endl;
else if(a<12 && a>=10) cout<<a<<":"<<s.substr(3,2)<<" AM"<<endl;
else if(a==12) cout<<"12:"<<s.substr(3,2)<<" PM"<<endl;
else
{
int k=a-12;
if(k<10)
cout<<"0"<<k<<":"<<s.substr(3,2)<<" PM"<<endl;
else
cout<<k<<":"<<s.substr(3,2)<<" PM"<<endl;
}
}
return 0;
}