游客 Signup | Login
中文 | En

1618 - 编排字符串

请输入字符串,最多输入个字符串,要求后输入的字符串排在前面,例如

输入:EricZ

输出:1=EricZ

输入:David

输出:1=David 2=EricZ

输入:Peter

输出:1=Peter 2=David 3=EricZ

输入:Alan

输出:1=Alan 2=Peter 3=David 4=EricZ

输入:Jane

输出:1=Jane 2=Alan 3=Peter 4=David

Input

第一行为字符串个数m,接下来m行每行一个字符床,m不超过100,每个字符床长度不超过20。

Output

输出m行,每行按照样例格式输出,注意用一个空格隔开。

Examples

Input

5
EricZ
David
Peter
Alan
Jane

Output

1=EricZ
1=David 2=EricZ
1=Peter 2=David 3=EricZ
1=Alan 2=Peter 3=David 4=EricZ
1=Jane 2=Alan 3=Peter 4=David

Solution C

#include<stdio.h>
int main()
{
	char str[101][21];
	int n,i,j;
	scanf("%d\n",&n);
	for(i=0;i<n;i++)
	{
		gets(str[i]);
		for(j=1;j<=i+1;j++)
		{
			printf("%d=%s",j,str[i-j+1]);
			if(j!=i+1&&j!=4)
				printf(" ");
			if(j==4)
				break;
		}
		printf("\n");
	}
	return 0;
}

Solution C++

#include <cstdio>
#include <vector>
#include <string>
#include <iostream>
using namespace std;

int main() {
    //freopen("data.in", "r", stdin);
    //freopen("data.out", "w", stdout);
    int t;
    vector < string > vs;
    string s;
    cin >> t;
    while (t--) {
        cin >> s;
        vs.push_back(s);
        if (vs.size() > 4)
            vs.erase(vs.begin());
        int cnt = 1;
        for (vector < string >::reverse_iterator it = vs.rbegin(); it != vs.rend(); ++it, ++cnt) {
            if (1 != cnt) cout << " ";
            cout << cnt << "=" << *it;
        }
        cout << endl;
    }
    return 0;
}

Time Limit 1 second
Memory Limit 32 MB
Discuss Stats
上一题 下一题