Universidad Central del Sur, las cuestiones de la máquina - con el fin de que coincida con el carácter
Descripción del problema:
nos preocupa el grado de dificultad del examen, profesor de K fuera de cuestión que tiene una ley sobre el tema antes, se escribirá una cadena aleatoria, se puede encontrar la secuencia E, A, S, siempre y cuando esta cadena, Y cuatro letras, el tema será relativamente simple. Tienes la cadena, se dice a la gente que es tema difícil.
Entrada:
entrada de datos múltiples grupos por línea, una cadena (longitud de la cadena no exceda de 1000).
Salida:
Para cada conjunto de datos de entrada, línea de salida, correspondientes a un requisito de la respuesta (tema simplemente da salida fácil, es difícil salida difícil).
La entrada de la muestra:
FÁCIL
SEoAtSNY
la muestra de la salida:
'information'
Easy
la idea del algoritmo:
el fácil comparar la matriz de caracteres almacenado en la matriz como auxiliar, a condición de dos punteros, i, j, i puntero que apunta a una cadena dada, la matriz de punto j auxiliar cuando un partido, iyj se incrementa al mismo tiempo, Si no i se incrementa en uno, si los puntos de cadena dada i y j no apuntan a la final de la cadena al final de la, la salida 'apologetic secundario, si los puntos j al final de la cadena auxiliar, la salida fácil.
#include<iostream>
#include<string>
using namespace std;
bool function(string str) {
char tmp[4] = { 'E','A','S','Y' };
int i = 0, j = 0;
while (i < str.length() && j < 3) {
if (str[i] == tmp[j]) {
i++;
j++;
}
i++;
}
if (i >= str.length())
return false;
else
return true;
}
int main() {
string str;
int count = 2;
while (count) {
cout << "输入字符串:";
cin >> str;
if (function(str)) {
cout << "easy" << endl;
}
else
cout << "difficult" << endl;
count--;
}
return 0;
}
Ejecutar los resultados de las pruebas: