首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

hdu1033 java总是pe 30行代码进来看下

2013-03-26 
hdu1033java老是pe30行代码进来看下java不过转成c就正确了。不知道差别在哪里。。。这是通过的c代码:#include

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;
}

这是pe的java代码:
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");
        }
    }
}


[解决办法]
http://acm.hdu.edu.cn/showproblem.php?pid=1033

热点排行