ACM-ICPC 2010 国内予選問題 Problem A 角角画伯,かく悩みき
Problem A 角角画伯,かく悩みき
問題とジャッジデータは↓
国内予選問題 | ACM-ICPC: ACM International Collegiate Programming Contest Asia Regional Contest 2010 in Tokyo
各タイルの位置を覚えておけば良い。
#include <iostream> #include <vector> #include <algorithm> using namespace std; int main() { while ( true ) { int N; cin >> N; if ( N == 0 ) break; vector<int> x( 1, 0 ); vector<int> y( 1, 0 ); for ( int i=1; i<N; i++ ) { int n, d; cin >> n >> d; x.push_back( x[n] ); y.push_back( y[n] ); switch ( d ) { case 0: x[i]--; break; case 1: y[i]++; break; case 2: x[i]++; break; case 3: y[i]--; break; } } cout << *max_element(x.begin(),x.end()) - *min_element(x.begin(),x.end()) + 1 << " " << *max_element(y.begin(),y.end()) - *min_element(y.begin(),y.end()) + 1 << endl; } }