intさわだんのBlack History

刹那的レジェンドになりたい。

ICPC 国内予選2010A 角角画伯,かく悩みき AOJ1165

やるだけ

 #include <bits/stdc++.h>
#define chmin(a, b) ((a)=min((a), (b)))
#define chmax(a, b) ((a)=max((a), (b)))
#define fs first
#define sc second
#define eb emplace_back
using namespace std;
 
typedef long long ll;
typedef pair<int, int> P;
typedef tuple<int, int, int> T;
 
const ll MOD=1e9+7;
const ll INF=1e18;
 
int dx[]={1, -1, 0, 0};
int dy[]={0, 0, 1, -1};

int d[2][4] = {
    {-1,0,1,0},
    {0,1,0,-1},
};

int posi[203][2];

int main(){
    while(true){
        int n;
        cin >> n;
        if(n == 0) break;
        int minmax[2][2]; minmax[0][0] = 0; minmax[0][1] = 0; minmax[1][0] = 0; minmax[1][1] = 0;
        for(int i = 1;i < n;i++){
            int ni,di;
            cin >> ni >> di;
            for(int j = 0;j < 2;j++){
                posi[i][j] = posi[ni][j] + d[j][di];
                minmax[0][j] = min(minmax[0][j],posi[i][j]);
                minmax[1][j] = max(minmax[1][j],posi[i][j]);
            }
        }
        cout << minmax[1][0]-minmax[0][0]+1 << " " << minmax[1][1]-minmax[0][1]+1 << endl;

    }
}