Aizu Online Judge(AOJ)の過去問から、その提出コードの解答例です。
・問題 "JAG-channel"
https://onlinejudge.u-aizu.ac.jp/problems/2583
・電子掲示板
僕が作成、提出したコードは、以下のとおりです。
Aizu Online Judge in C++ #Volume25 : 2583 - JAG-channel
/* Aizu Online Judge in C++ #Volume25 : 2583 - JAG-channel https://onlinejudge.u-aizu.ac.jp/problems/2583 提出コードの解答例 https://neguse-atama.hatenablog.com */ #include<bits/stdc++.h> using namespace std; using ll=long long; int main(void){ ll n; while(cin>>n,n){ string s[1010]; for(ll i=0;i<n;i++){ cin>>s[i]; for(ll j=0;j<s[i].size();j++){ if(s[i][j]=='.'){ continue; } if(j>0){ s[i][j-1]='+'; for(ll k=1;s[i-k][j-1]=='.';k++){ s[i-k][j-1]='|'; } } break; } } for(ll i=0;i<n;i++){ for(ll j=0;j<s[i].size();j++){ if(s[i][j]=='.'){ cout<<" "; }else{ cout<<s[i][j]; } } puts(""); } } return 0; }
設問の出典は、プログラミング問題のオンライン採点システム「Aizu Online Judge(AOJ)」です。
http://judge.u-aizu.ac.jp/onlinejudge/