intさわだんのBlack History

刹那的レジェンドになりたい。

ICPC 国内予選2017B ほとんど同じプログラム AOJ1617

やるだけ。シミュレーション。実装もそこまで重くなかった。

#include <bits/stdc++.h>
#define chmin(a, b) ((a)=min((a), (b)))
#define chmax(a, b) ((a)=max((a), (b)))
#define fs first
#define sc second
#define eb emplace_back
using namespace std;
  
typedef long long ll;
typedef pair<int, int> P;
typedef tuple<int, int, int> T;
  
const ll MOD=1e9+7;
const ll INF=1e18;
  
int dx[]={1, -1, 0, 0};
int dy[]={0, 0, 1, -1};
 
 
int main(){
    char a[210],b[210];
    while(1){
        cin >> a;
        if(a[0] == '.')break;
        cin >> b;
        int dif = 0,ai = 0,bi = 0;
        for(;ai < strlen(a) || bi < strlen(b);ai++,bi++){
            if(a[ai] == '"' && b[bi] == '"'){
                for(int i = 1;ai + i < strlen(a);i++){
                    if(a[ai+i] == '"' && b[bi+i] == '"'){
                        ai += i; bi += i;
                        break;
                    }else if(a[ai+i] != b[bi+i]){
                        dif++;
                        if(dif >= 2) break;
                        int add = 0;
                        for(add = 0;a[ai+i+add] != '"';add++) ;
                        ai = ai + i + add;
                        for(add = 0;b[bi+i+add] != '"';add++) ;
                        bi = bi + i + add;
                        break;
                    }
                }
                if(dif >= 2)break;
            }else if(a[ai] != b[bi]){
                dif = 3;
                break;
            }
        }
        if(ai == strlen(a) && bi == strlen(b) && dif == 0){
            cout << "IDENTICAL" << endl;
        }else if(dif == 1){
            cout << "CLOSE" << endl;
        }else{
            cout << "DIFFERENT" << endl;
        }
    }
}