Description

小Q设计了一款2D游戏,它的地图建立在二维笛卡尔坐标系上。这个游戏最大的特色就是可以随机生成地图,但是
岛屿生成却给小Q带来了巨大的麻烦。一个岛屿可以看成一个恰好有n个顶点的简单多边形,每个顶点的坐标都必须
是整数,同时为了防止精度误差,每条边的长度也必须是整数。为了体现程序的随机性,任何一条边都不能与x轴
或者y轴平行。当然,这个多边形不能自交,也不允许连续3个点共线。请写一个程序帮助小Q实现岛屿生成功能。

Input

第一行包含一个正整数n(3<=n<=1000),表示多边形的点数。

Output

输出n行,每行两个整数x_i,y_i(|x_i|,|y_i|<=10000),按顺时针或者逆时针顺序依次输出每个顶点的坐标。
若有多组解,输出任意一组。
n=4时一组解是(0,0)-(4,3)-(8,0)-(4,-3)-(0,0),n为4的倍数时只需在0,0和8,0处同时插入对称的折线,n不是4的倍数时,考虑在原图形的某一条边上插入1~2个点,凑够点数。n=3需要特判。
#include<bits/stdc++.h>
int n,x=,y;
void pr(int x,int y){printf("%d %d\n",x,y);}
int main(){
scanf("%d",&n);
if(n&)pr(-,);
pr(,);
if(n==)return pr(,),;
if(n&)pr(,),pr(,);
n=n/-;
pr(x,y);
for(int i=;i<=n;++i)pr(x-=,y-=),pr(x+=,y-=);
pr(x-=,y-=),pr(x-=,y+=);
for(int i=;i<=n;++i)pr(x+=,y+=),pr(x-=,y+=);
return ;
}

bzoj5044: 岛屿生成的更多相关文章

  1. Oracle 11g数据库详解(2)

    FAILED_LOGIN_ATTEMPTS 用于指定连续登陆失败的最大次数 达到最大次数后,用户会被锁定,登陆时提示ORA-28000 UNLIMITED为不限制 精确无误差 是 实时 PASSWOR ...

  2. 算法初级面试题05——哈希函数/表、生成多个哈希函数、哈希扩容、利用哈希分流找出大文件的重复内容、设计RandomPool结构、布隆过滤器、一致性哈希、并查集、岛问题

    今天主要讨论:哈希函数.哈希表.布隆过滤器.一致性哈希.并查集的介绍和应用. 题目一 认识哈希函数和哈希表 1.输入无限大 2.输出有限的S集合 3.输入什么就输出什么 4.会发生哈希碰撞 5.会均匀 ...

  3. 翻译: 星球生成 II

    翻译: 星球生成 II 本文翻译自Planet Generation - Part II 译者: FreeBlues 以下为译文: 概述 在前一章 我解释了如何为星球创建一个几何球体. 在本文中, 我 ...

  4. 岛屿的个数12 · Number of Islands12

    [抄题]: 给一个01矩阵,求不同的岛屿的个数. 0代表海,1代表岛,如果两个1相邻,那么这两个1属于同一个岛.我们只考虑上下左右为相邻. [ [1, 1, 0, 0, 0], [0, 1, 0, 0 ...

  5. Jenkins 安装的HTML Publisher Plugin 插件无法展示ant生成的JunitReport报告

    最近在做基于jenkins ant  junit 的测试持续集成,单独ant junit生成的junitreport报告打开正常,使用Jenkins的HTML Publisher Plugin 插件无 ...

  6. SQL Server镜像自动生成脚本

    SQL Server镜像自动生成脚本 镜像的搭建非常繁琐,花了一点时间写了这个脚本,方便大家搭建镜像 执行完这个镜像脚本之后,最好在每台机器都绑定一下hosts文件,不然的话,镜像可能会不work 1 ...

  7. 将表里的数据批量生成INSERT语句的存储过程 增强版

    将表里的数据批量生成INSERT语句的存储过程 增强版 有时候,我们需要将某个表里的数据全部或者根据查询条件导出来,迁移到另一个相同结构的库中 目前SQL Server里面是没有相关的工具根据查询条件 ...

  8. 使用 .NET WinForm 开发所见即所得的 IDE 开发环境,实现不写代码直接生成应用程序

    直接切入正题,这是我09年到11年左右业余时间编写的项目,最初的想法很简单,做一个能拖拖拽拽就直接生成应用程序的工具,不用写代码,把能想到的业务操作全部封装起来,通过配置的方式把这些业务操作组织起来运 ...

  9. Javascript生成二维码(QR)

    网络上已经有非常多的二维码编码和解码工具和代码,很多都是服务器端的,也就是说需要一台服务器才能提供二维码的生成.本着对服务器性能的考虑,这种小事情都让服务器去做,感觉对不住服务器,尤其是对于大流量的网 ...

随机推荐

  1. 20155208徐子涵 2016-2017-2 《Java程序设计》第6周学习总结

    20155208徐子涵 2016-2017-2 <Java程序设计>第6周学习总结 教材学习内容总结 10.1.1 1.Java将输入/输出抽象化为串流,数据有来源及目的地,衔接两者的是串 ...

  2. 项目报错 exception 'RedisException' with message 'Redis server went away' in XXX

    检查服务器防火墙是否开启redis端口:如果返回no 表没确实没开 firewall-cmd --query-port=6379/tcp 开启:firewall-cmd --add-port=6379 ...

  3. HDU 1873 看病要排队 优先队列

    Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s) ...

  4. 【BZOJ3242】【UOJ#126】【NOI2013】快餐店

    NOI都是这种难度的题怎么玩嘛QAQ 原题: 小T打算在城市C开设一家外送快餐店.送餐到某一个地点的时间与外卖店到该地点之间最短路径长度是成正比的,小T希望快餐店的地址选在离最远的顾客距离最近的地方. ...

  5. 【BZOJ3244】【UOJ#122】【NOI2013]树的计数

    NOI都是酱的题怎么玩啊,哇.jpg 原题: 我们知道一棵有根树可以进行深度优先遍历(DFS)以及广度优先遍历(BFS)来生成这棵树的DFS序以及BFS序.两棵不同的树的DFS序有可能相同,并且它们的 ...

  6. 【BZOJ2300】【SCOI2011】糖果

    差点就忘了还有差分约束这个东西……看见了就要学习一个 原题: 幼儿园里有N个小朋友,lxhgww老师现在想要给这些小朋友们分配糖果,要求每个小朋友都要分到糖果.但是小朋友们也有嫉妒心,总是会提出一些要 ...

  7. 【java编程-Javassist】秒懂Java动态编程(Javassist研究)

    作者:ShuSheng007 来源:CSDN 原文:https://blog.csdn.net/ShuSheng0007/article/details/81269295 版权声明:本文为博主原创文章 ...

  8. 新安装的win7/win10系统,所有驱动都没安装,插入U盘也无法识别解决方法

    我是使用老毛挑安装的系统,结果安装好之后,才发现所有驱动都没有安装,例如usb,网卡驱动等 解决方法就是先把驱动下载到系统安装盘里面,然后再次进入安装系统界面,相当于重新安装系统,但实际上我们不需要. ...

  9. tile38 复制配置

    基于复制我们可以保证tile38 server 的ha 环境准备 docker-compose 文件 说明里面多了一个webhook 的服务,可以不用管   version: "3" ...

  10. vernemq 集群 docker-compose 搭建简单试用

    vernemq 是一款开源的mqtt broker, 支持cluster 模式部署,而且部署比较简单 以下是一个使用docker-compose 搭建环境的demo 环境准备 docker-compo ...