描述
军训是一段难得的记忆。军训生活中,虫虫记忆最深的的就是喊号子了。“一、二、三、四、一二三、四!”不知道你还记不记得那青涩的时光。
细心的虫虫发现,教官一共只会喊两种号子:
1)1-2-1 1-2-1 1 1 1-2-1
2)1 2 3 4 1-2-3 4
喊号子之前,教官会提前告诉大家,这次一共要喊 N 组号子,从第 M 组号子开始交替喊。比如 N = 3,M = 2 时,同学们就需要这样喊:
1 2 3 4 1-2-3 4
1-2-1 1-2-1 1 1 1-2-1
1 2 3 4 1-2-3 4
现在虫虫要求你写一个程序,教同学们如何正确地喊号子。
输入输出
输入
第一行含有一个正整数 T,表示有 T 组测试数据。
接下来 T 行,每行含有两个正整数 N M,表示要喊 N 组号子,从第 M 组开始。
约定
T≤100;
1≤N≤10;
1≤M≤2。
输出
对于每组测试数据,输出:
第一行:Case #: (# 要替换成对应的数字)。
接着每行输出一个号子
想法
简单题,但代码可以写的更加优美一些。
每天写一写水题还是很开心的。
代码
#include <iostream>
using namespace std;
int main()
{
char str1[22] = "1-2-1 1-2-1 1 1 1-2-1";
char str2[16] = "1 2 3 4 1-2-3 4";
int t,n,m;
cin>>t;
for (int i=1;i<=t;i++)
{
cin>>n>>m;
cout<<"Case "<<i<<":"<<endl;
if(m==1)
{
for(int j=1;j<=n;j++)
{
if(j%2)
cout<<str1<<endl;
else
cout<<str2<<endl;
}
}
else
{
for(int j=1;j<=n;j++)
{
if(j%2)
cout<<str2<<endl;
else
cout<<str1<<endl;
}
}
}
return 0;
}