hdoj 1033Edge(考验英文功底)

来源:互联网 发布:芈月 铭文 知乎 编辑:程序博客网 时间:2024/06/05 08:10

看题目看了半天,最后是看输出勉强理解了题目。。。。

A是指右转,V指左转。每次转向固定走10步。

好好一个简单的问题被描述成xxxxxxxxxxxxxxxxxxxxxx

k的取值代表4个方向。

#include<iostream>#include<stdio.h>using namespace std;int main(){char str[205];int i,k,len,x,y;while(cin>>str){k=1;cout<<"300 420 moveto"<<endl<<"310 420 lineto"<<endl;len=strlen(str);x=310;y=420;for(i=0;i<len;i++){if(str[i]=='A'){if(k==1){y=y-10; k=4;}else if(k==2){k=3;y=y+10;}else if(k==3){k=1;x=x+10;}else{k=2;x=x-10;}cout<<x<<" "<<y<<" lineto"<<endl;}else if(str[i]=='V'){   if(k==1){k=3;y=y+10;}else if(k==2){y=y-10;k=4;}else if(k==3){k=2;x=x-10;}else{k=1;x=x+10;}cout<<x<<" "<<y<<" lineto"<<endl;}}cout<<"stroke"<<endl<<"showpage"<<endl;}return 0;}