Aizu Online Judge(AOJ)の過去問から、その提出コードの解答例です。
・問題 "Almost Identical Programs"
https://onlinejudge.u-aizu.ac.jp/problems/1617
・ほとんど同じプログラム
僕が作成、提出したコードは、以下のとおりです。
・Aizu Online Judge in C++ #Volume16 : 1617 - Almost Identical Programs
/* Aizu Online Judge in C++ #Volume16 : 1617 - Almost Identical Programs https://onlinejudge.u-aizu.ac.jp/problems/1617 提出コードの解答例 https://neguse-atama.hatenablog.com */ #include<bits/stdc++.h> using namespace std; using ll=long long; string s,t; int main(void){ while(cin>>s,s!="."){ cin>>t; vector<string> a,b; string str=""; for(ll i=0;i<s.size();i++){ if(s[i]=='"'){ a.push_back(str); str=""; }else{ str+=s[i]; } } a.push_back(str); str=""; for(ll i=0;i<t.size();i++){ if(t[i]=='"'){ b.push_back(str); str=""; }else{ str+=t[i]; } } b.push_back(str); ll cnt=(a.size()!=b.size() ? 2 : 0); for(ll i=0;i<a.size();i++){ if(i>=b.size()){ cnt+=2; }else{ if(a[i]!=b[i]){ cnt+=2-i%2; } } } cout<<(cnt ? (cnt>1 ? "DIFFERENT\n" : "CLOSE\n") : "IDENTICAL\n"); } return 0; }
設問の出典は、プログラミング問題のオンライン採点システム「Aizu Online Judge(AOJ)」です。
http://judge.u-aizu.ac.jp/onlinejudge/