hdu1033 java老是pe 30行代码进来看下
java不过转成c就正确了。不知道差别在哪里。。。
这是通过的c代码:
#include<stdio.h>#include<string.h>int main(){ char str[201]; int i,x,y,dir,t; while(~scanf("%s",str)) { x=310,y=420,dir=1,t; puts("300 420 moveto"); puts("310 420 lineto"); for (i=0;i<strlen(str);i++) { t=str[i]>'A'?1:-1; switch(dir) { case 0:x-=t*10;break; case 1:y+=t*10;break; case 2:x+=t*10;break; case 3:y-=t*10; } dir=(dir-t)%4; dir=dir>=0?dir:dir+4; printf("%d %d lineto\n",x,y); } puts("stroke\nshowpage"); } return 0;}import java.util.Scanner;public class Main { public static void main(String args[]) { Scanner cin=new Scanner(System.in); while(cin.hasNext()) { int x=310,y=420,dir=1,t; String str=cin.next(); System.out.println("300 420 moveto\n310 420 lineto"); for(int i=0;i<str.length();i++) { t=str.charAt(i)>'A'? 1:-1; switch(dir) { case 0:x-=t*10;break; case 1:y+=t*10;break; case 2:x+=t*10;break; case 3:y-=t*10; } dir=(dir-t)%4; dir=dir>=0?dir:dir+4; System.out.println(x+" "+y+" lineto"); } System.out.println("stroke\nshowpage"); } }}