各位高手,50分求浙江大学ACM1954(最好有思路注释)

ZhangJingZJU 2004-07-13 05:24:12
http://acm.zju.edu.cn/show_problem.php?pid=1954
...全文
64 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
galois_godel 2004-07-14
  • 打赏
  • 举报
回复
// 算法: 先遍利一边, 应该很清楚的

#include <iostream.h>

struct DATA{
int x;
int y;

};


struct DATA table[100000];

void makeTable(void)
{
int n=2,k=0;
int x=0,y=1,station=3,len=1;
table[1].x=0;
table[1].y=0;
while(n<100000)
{
table[n].x=x;
table[n].y=y;
n++;
switch(station)
{
case 1:
y++;
k++;
if(k==len){ k=0; station++;}
break;
case 2:
y++;
x--;
k++;
if(k==len-1){ k=0; station++;}
break;
case 3:
x--;
k++;
if(k==len){ k=0; station++;}
break;
case 4:
y--;
k++;
if(k==len){ k=0; station++;}
break;
case 5:
x++;
y--;
k++;
if(k==len){ k=0; station++;}
break;
case 6:
x++;
k++;
if(k==len){ k=0; station=1; len++;}
break;
}
}
}
int main()
{
int n;
makeTable();

cin>>n;
while(!cin.eof())
{
cout<<table[n].x<<" "<<table[n].y<<endl;
cin>>n;
}
}


leojay 2004-07-13
  • 打赏
  • 举报
回复
就是把100000个点的坐标全部算出来呀。

每一圈六条边

33,008

社区成员

发帖
与我相关
我的任务
社区描述
数据结构与算法相关内容讨论专区
社区管理员
  • 数据结构与算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧