SHUOJ 喊号子

描述

军训是一段难得的记忆。军训生活中,虫虫记忆最深的的就是喊号子了。“一、二、三、四、一二三、四!”不知道你还记不记得那青涩的时光。
细心的虫虫发现,教官一共只会喊两种号子:
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;
}

猜你喜欢

转载自blog.csdn.net/waveviewer/article/details/81229156