View Code of Problem 105

#include<bits/stdc++.h>
 
using namespace std;
 
int main(){
	string s;
	while (cin >> s && s != "END"){
		int n;
		cin >> n;
		for (int i = 0; i < n; i ++ ){
			string t;
			cin >> t;
			if (t.size() < s.size()){
				int pos;
				for (int j = 0; j < s.size(); j ++ ){
					pos = j;
					if (t[j] != s[j]){
						while (pos >= 0 && s[pos] == s[j]){
							pos --;
						}
						break;
					}
				}
				printf("%d %d ", i + 1, pos + 2);
				cout << "insert" << " " << s[pos + 1] << endl;
			}else if (t.size() > s.size()){
				int pos;
				for (int j = 0; j < t.size(); j ++ ){
					pos = j;
					if (t[j] != s[j]){
						while (pos >= 0 && t[pos] == t[j]){
							pos --;
						}
						break;
					}
				}
				printf("%d %d ", i + 1, pos + 2);
				cout << "delete" << " " << t[pos + 1] << endl;
			}else{
				int ok = 0;
				for (int j = 0; j < s.size(); j ++ ){
					if (t[j] != s[j]){
						printf("%d %d ", i + 1, j + 1);
						cout << "change" << " " << s[j] << endl;
						ok = 1;
						break;
					}
				}
				if (!ok){
					printf("%d OK!\n", i + 1);
				}
			}
		}
	}
}	

Double click to view unformatted code.


Back to problem 105