PKU 2556 Edge

http://poj.org/problem?id=2556
読解がだるいだけだと思います。英語読むの大変ですね。
点が距離10ずつ進むが、時計回りとか反時計周りに毎回90度回転するときの軌跡を出力しろみたいな問題。

int dx[]={0,1,0,-1};
int dy[]={1,0,-1,0};

main(){
  string ss;

  while(cin>>ss){
    cout<<"300 420 moveto"<<endl;
    cout<<"310 420 lineto"<<endl;

    int x=310,y=420;
    int d=1;

    rep(i,ss.size()){
      switch(ss[i]){
      case 'A':
	d=(d+1)%4;
	break;
      case 'V':
	d=(d+3)%4;
	break;
      }
      x+=dx[d]*10;
      y+=dy[d]*10;
      cout<<x<<" "<<y<<" lineto"<<endl;
    }
    cout<<"stroke"<<endl;
    cout<<"showpage"<<endl;
  }
}