码迷,mamicode.com
首页 > 其他好文 > 详细

Sicily 13460. Passwords

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

标签:sicily

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

标签:sicily

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!