首页 > 其他 > 详细

Sicily 13460. Passwords

时间:2015-04-13 23:02:05      阅读:266      评论:0      收藏:0      [点我收藏+]

13460. Passwords

Constraints

Time Limit: 1 secs, Memory Limit: 256 MB

Description

Mirko is an evil plotting genius and has gotten hold of a list of all possible passwords for a certain user account. The first thing he noticed was all the passwords are of odd length. Mirko assumes that the correct password is the one which can be found in both the original and reverse order in the list. For example, if the word “tulipan” would be the correct password, the word “napilut” has to also appear in the list. Given that both words are correct passwords, Mirko will try to use both, one at a time.

Help Mirko discover what the correct password is and output its length and central character.

Input

The first line of input contains the integer N (1 ≤ N ≤ 100), the number of possible passwords. Each of the following N lines contains a single word, its length being an odd number greater than 2 and lesser than 14. All characters are lowercase letters of the English alphabet.

Output

The first and only line of output must contain the length of the correct password and its central letter. The solution will be unique.

Sample Input

样例1:
4
las
god
psala
sal
样例2:
4
kisik
ptq
tttrp
tulipan

Sample Output

样例1:
3 a
样例2:
5 s

Hint

Clarification of the first example: The required pair of words is “las” and “sal”. Their length is 3 letters and the central character is ‘a‘.

Clarification of the second example: The word “kisik” can be found in both the original and reverse order on the list (the word is a palindrome), so it is a valid correct password.

Problem Source

2015年每周一赛第一场

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

int main() {
	std::ios::sync_with_stdio(false);

	int n;
	cin >> n;
	vector<string> v(n);
	for (int i = 0; i < n; i++) cin >> v[i];
	for (int i = 0; i < v.size(); i++) {
		string s = v[i];
		reverse(s.begin(), s.end());
		for (int j = 0; j < v.size(); j++) {
			if (s == v[j]) {
				cout << v[j].size() << " " << v[j][v[j].size() / 2] << endl;
				return 0;
			}
		}
	}
	
	return 0;
}

Sicily 13460. Passwords

原文:http://blog.csdn.net/u012925008/article/details/45031469

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!