View Code of Problem 105

#include<iostream>
#include<cstring>
using namespace std;
int main(){
	 char a[2222],b[2222];
	 while(cin>>a){
	 	if(strcmp(a,"END")==0){
	 		break;
		 }
		 int m,i;
		 cin>>m;
		 int j=0;
		 while(m--){
		 	j++;
		 	cin>>b;
		 	if(strlen(a)==strlen(b)){
		 		for(i=0;i<strlen(b);i++){
		 			if(a[i]!=b[i]){
		 				printf("%d %d change %c\n",j,i+1,a[i]);						
						break;
					 }
				 }
				 if(i==strlen(a)){
				printf("%d OK!\n",j);
				}
			 }else if(strlen(a)>strlen(b)){
			 	for(i=0;i<strlen(b);i++){
			 		if(a[i]!=b[i]){
			 			while(i>0&&a[i]==a[i-1]){
			 				i--;
						 }
						printf("%d %d insert %c\n",j,i+1,a[i]);
						break;
					 }
				}
					 if(i==strlen(b)){
					 		while(i>0&&a[i]==a[i-1]){
			 				i--;
						 }
						printf("%d %d insert %c\n",j,i+1,a[i]);
					 }
				 }else{
			 	for(i=0;i<strlen(a);i++){
			 		if(a[i]!=b[i]){
			 			while(b[i]==b[i-1]&&i>0){
			 				i--;
						 }
						 printf("%d %d delete %c\n",j,i+1,b[i]);
						break;
					 }
					 if(i==strlen(a)){
					 		while(b[i]==b[i-1]&&i>0){
			 				i--;
						 }
						 printf("%d %d delete %c\n",j,i+1,b[i]);
					 }
				 }
			 }
		 }
	 }
	return 0;
} 

Double click to view unformatted code.


Back to problem 105