HDU 1033 水题
題意還真的不好懂,摸索數據就出來了,注意順時針和逆時針時候的方向變化
/*
?* Author:lonelycatcher
?* problem:hdu 1033
?* Type:水題
?*/
#include<string.h>
#include<iostream>
#include<string>
#include<stdio.h>
#include<cstdlib>
using namespace std;
string command;
int main()
{
?while(cin>>command)
?{
??printf("300 420 moveto\n");
??printf("310 420 lineto\n");
??int len=command.length();
??int dirx=1;
??int diry=0;
??int x=310,y=420;
??for(int i=0;i<len;i++)
??{
???if(command[i]=='A')
???{
????if(dirx==1&&diry==0)
????{
?????y-=10;
?????dirx=0;diry=-1;
?????printf("%d %d lineto\n",x,y);
?????continue;
????}
????else if(dirx==-1&&diry==0)
????{
?????y+=10;
?????dirx=0;diry=1;
?????printf("%d %d lineto\n",x,y);
?????continue;
????}
????else if(dirx==0 && diry==1 )
????{
?????x+=10;
?????dirx=1;diry=0;
?????printf("%d %d lineto\n",x,y);
?????continue;
????}
????else if(dirx==0 && diry==-1)
????{
?????x-=10;
?????dirx=-1;diry=0;
?????printf("%d %d lineto\n",x,y);
?????continue;
????}
???}
???else
???{
????if(dirx==1&&diry==0)
????{
?????y+=10;
?????dirx=0;diry=1;
?????printf("%d %d lineto\n",x,y);
?????continue;
????}
????else if(dirx==-1&&diry==0)
????{
?????y-=10;
?????dirx=0;diry=-1;
?????printf("%d %d lineto\n",x,y);
?????continue;
????}
????else if(dirx==0 && diry==1 )
????{
?????x-=10;
?????dirx=-1;diry=0;
?????printf("%d %d lineto\n",x,y);
?????continue;
????}
????else if(dirx==0 && diry==-1)
????{
?????x+=10;
?????dirx=1;diry=0;
?????printf("%d %d lineto\n",x,y);
?????continue;
????}
???}
??}
??printf("stroke\nshowpage\n");
?}
?return 0;
}
轉載于:https://www.cnblogs.com/lonelycatcher/archive/2011/08/01/2123369.html
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的HDU 1033 水题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: iisapp 查看PID所对应的IIS应
- 下一篇: 闭包作用域探究小例