yukicoder 274 The Wall
問題
方針
全ての横棒が $2$ 本ずつあり,高さも $2N$ だとすると,
- ある横棒とその左右反転を両方使わないといけない
- 縦の列に $2$ つまでピンクが入っても OK
という条件を満たすか?という問題に変わる.これを解くのは簡単で,各列に何個ピンクがあるか数えてそれが $2$ 以下であるか判定すれば良い.
実装
int main(){
int n,m;
while(cin >> n >> m){
vi a(m);
rep(i,n){
int l,r;
cin >> l >> r;
r++;
loop(j,l,r) a[j]++, a[m-j-1]++;
}
bool ok = true;
rep(i,m) ok &= a[i] <= 2;
puts(ok ? "YES" : "NO");
}
}
なぜかとても調子が良かったぜ