View Code of Problem 105

#include <stdio.h>
#include <string.h>

int main(){
	char s[2222];
	while(scanf("%s",s)){
		if(strcmp(s,"END")==0){
			break;
		}
		int n;
		scanf("%d",&n);
		for(int i=0;i<n;i++){
			char x[2223];
			scanf("%s",x);
			int gap=strlen(x)-strlen(s);
			int j;
			if(gap==1){
				for(j=0;j<strlen(s);j++){
					if(s[j]!=x[j]){
						while(j>0&&x[j]==x[j-1]){
							j--;
						}
						printf("%d %d delete %c\n",i+1,j+1,x[j]);
						break;
					}
				}
				if(j==strlen(s)){
					while(j>0&&x[j]==x[j-1]){
						j--;
					}
					printf("%d %d delete %c\n",i+1,j+1,x[j]);
				}
			}else if(gap==0){
				for(j=0;j<strlen(s);j++){
					if(s[j]!=x[j]){
						printf("%d %d change %c\n",i+1,j+1,s[j]);
						break;
					}
				}
				if(j==strlen(s)){
					printf("%d OK!\n",i+1);
				}
			}else{
				for(j=0;j<strlen(x);j++){
					if(s[j]!=x[j]){
						while(j>0&&s[j]==s[j-1]){
							j--;
						}
						printf("%d %d insert %c\n",i+1,j+1,s[j]);
						break;
					}
				}
				if(j==strlen(x)){
					while(j>0&&s[j]==s[j-1]){
						j--;
					}
					printf("%d %d insert %c\n",i+1,j+1,s[j]);
				}
			}
		}
	}
}

Double click to view unformatted code.


Back to problem 105