Aizu Online Judge(AOJ)の過去問から、その提出コードの解答例です。
・問題 "Koto Distance"
https://onlinejudge.u-aizu.ac.jp/problems/2600
・Koto距離
僕が作成、提出したコードは、以下のとおりです。
・Aizu Online Judge in C++ #Volume26 - 2600 : Koto Distance
/* Aizu Online Judge in C++ #Volume26 - 2600 : Koto Distance https://onlinejudge.u-aizu.ac.jp/problems/2600 提出コードの解答例 https://neguse-atama.hatenablog.com */ #include<bits/stdc++.h> using namespace std; using ll=long long; ll x[100010],y[100010]; int main(void){ ll n,w,h,a,b,c,d=0; cin>>n>>w>>h; for(ll i=0;i<n;i++){ cin>>a>>b>>c; y[max(0LL,b-c)]--; y[min(h,b+c)]++; x[max(0LL,a-c)]--; x[min(w,a+c)]++; } for(ll i=1;i<=h;i++){ y[i]+=y[i-1]; } for(ll i=1;i<=w;i++){ x[i]+=x[i-1]; } for(ll i=0;i<h;i++){ if(y[i]==0){ d++; break; } } for(ll i=0;i<w;i++){ if(x[i]==0){ d++; break; } } if(d==2){ cout<<"No\n"; }else{ cout<<"Yes\n"; } return 0; }
設問の出典は、プログラミング問題のオンライン採点システム「Aizu Online Judge(AOJ)」です。
http://judge.u-aizu.ac.jp/onlinejudge/