Tema enlace: https: //vjudge.net/problem/UVA-401
Significado de las preguntas: determinar si la imagen e invertir la secuencia de la secuencia
Solución: para determinar si cada uno de: determinar si la misma secuencia de flashback inversa
espejo Tandem determina si dos cadenas son iguales
Nota: 1. Tenga en cuenta que el formato de salida, hay un espacio después de cada salida
2. Analizar la cadena de imagen dos que satisface las condiciones: En primer lugar, si la cadena de caracteres, los dos son iguales, es indispensable
3.C ++ longitud de caracteres utilizado .length () para buscar, strlen是计算char */char[]的,string非要用,需要用 c_str()转换成char * cout << strlen(s.c_str()),类似的也包括输出字符串%s
Código ac
#include <iostream>
#include <cstdio>
#include <cstring>
#include <string>
using namespace std;
int main ()
{
char ch [] = "AEHIJLMOSTUVWXYZ12358";
Char ch2 [] = "A3HILJMO2TUVWXY51SEZ8";
cadena s;
while (getline (cin, s))
{
int j, f1 = 1, F2 = 1;
int len = s.length ();
for (int i = 0; i <= len / 2; i ++)
si (s [i] = s [len-i-1]!)
{
f1 = 0;
descanso;
}
For (int i = 0; i <= len / 2; i ++)
{
for (j = 0; ch [j] = 0;! J ++)
si (ch [j] == s [i]) break;
if (! ch [j] || ch2 [j] = s [len-i-1]!) f2 = 0;
}
Cout << s;
si (f1 f2 &&) printf ( "- es un palíndromo espejo. \ n", s);
else if printf ( "- es una cadena de espejo. \ n", s) (f1 f2 &&!);
else if (! f1 f2 &&) printf ( "-. es un palíndromo normal \ n", s);
printf otra cosa ( "- no es un palíndromo. \ n", s);
tribunal << endl;
}
Return 0;
}